// 创建XHR function createXHR(){ if (typeof XMLHttpRequest != 'undefined'){ // W3C标准 return new XMLHttpRequest(); } else if (typeof ActiveXObject != 'undefined'){ // IE var versions = [ 'MSXML2.XMLHttp.6.0','MSXML2.XMLHttp.3.0','MSXML2.XMLHttp' ]; for (var i=0; i<versions.length; i++){ try{ return new ActiveXObject(versions[i]); } catch (e){ } } } else { throw new Error("您的浏览器不支持XHR对象!"); } } // 将json对象转换为json字符串,并以&连接 function params(data){ var strArr = []; for (var i in data){ strArr.push(encodeURIComponent(i) + "=" + encodeURIComponent(data[i])); } return strArr.join("&"); }; //Ajax封装 function ajax(obj){ var xhr = createXHR(); obj.data = params(obj.data); if (obj.method=='get'){ obj.url += obj.url.indexOf("?")==-1? "?"+data : data; } else if (obj.method=='post'){ obj.url = obj.url; } if (obj.async == true){ // 异步 xhr.onreadystatechange = function(){ if (xhr.readyState === 4){ callback(); } } } else if (obj.async == false){ // 同步 callback(); } xhr.open(obj.method,obj.url,obj.async); if (obj.method == 'get'){ xhr.send(null); } else if (obj.method == 'post'){ xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); xhr.send(obj.data); } function callback(){ if(xhr.status == 200){ //如果返回成功了 obj.success(xhr.responseText); // 回调函数 }else{ alert('数据返回失败!状态代码:' +xhr.status+'状态信息:' +xhr.statusText); } } }
// Ajax 调用 var callAjax = function(){ ajax({ method: "post",url: "ajax.PHP",data: { "name": "wuguojun","age": 24 },success: function(result){ alert(result); },async: true }); }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。