时间:2021-05-25
实例如下:
// 使用原生js 封装ajax// 兼容xhr对象function createXHR(){ if(typeof XMLHttpRequest != "undefined"){ // 非IE6浏览器 return new XMLHttpRequest(); }else if(typeof ActiveXObject != "undefined"){ // IE6浏览器 var version = [ "MSXML2.XMLHttp.6.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp", ]; for(var i = 0; i < version.length; i++){ try{ return new ActiveXObject(version[i]); }catch(e){ //跳过 } } }else{ throw new Error("您的系统或浏览器不支持XHR对象!"); }}// 转义字符function params(data){ var arr = []; for(var i in data){ arr.push(encodeURIComponent(i) + "=" + encodeURIComponent(data[i])); } return arr.join("&");}// 封装ajaxfunction ga_ajax(obj){ var xhr = createXHR(); obj.url = obj.url + "?rand=" + Math.random(); // 清除缓存 obj.data = params(obj.data); // 转义字符串 if(obj.method === "get"){ // 判断使用的是否是get方式发送 obj.url += obj.url.indexOf("?") == "-1" ? "?" + obj.data : "&" + obj.data; } // 异步 if(obj.async === true){ // 异步的时候需要触发onreadystatechange事件 xhr.onreadystatechange = function(){ // 执行完成 if(xhr.readyState == 4){ callBack(); } } } xhr.open(obj.method,obj.url,obj.async); // false是同步 true是异步 // "demo.php?rand="+Math.random()+"&name=ga&ga", if(obj.method === "post"){ xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); xhr.send(obj.data); }else{ xhr.send(null); } // xhr.abort(); // 取消异步请求 // 同步 if(obj.async === false){ callBack(); } // 返回数据 function callBack(){ // 判断是否返回正确 if(xhr.status == 200){ obj.success(xhr.responseText); }else{ obj.Error("获取数据失败,错误代号为:"+xhr.status+"错误信息为:"+xhr.statusText); } }}var html = document.getElementsByTagName("html")[0];html.onclick = function(){ ga_ajax({ "method" : "post", "url" : "demo.php", "data" : { "name" : "gao", "age" : 100, "num" : "12346&598" }, "success" : function(data){ alert(data); }, "Error" : function(text){ alert(text); }, "async" : false });}以上这篇使用原生js写ajax实例(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
原生ajax处理json格式数据代码实例:由于jQuery的出现,原生ajax使用频率也越来越少,这当然是因为jQuery的便利性多导致的。但是对于原生ajax
本文实例为大家分享了js实现ajax的用户简单登入的具体代码,供大家参考,具体内容如下原生js实现ajaxhtml页面ajax登录用户名:密码:window.o
本文实例讲述了php+ajax实现无刷新分页的方法。分享给大家供大家参考。具体实现方法如下:这是一款基于原生态的php+js+ajax的分页程序实例,我们详细的
前言学习JavaScript的同学都知道,AJAX(asyncjavascriptandxml)翻译叫做异步的JavaScript和XML,在原生js中使用发送
本文实例讲述了原生js实现的贪吃蛇网页版游戏。分享给大家供大家参考。具体实现方法如下:原生js写的贪吃蛇网页版游戏Star={init:function(){v