var $ =function(){}
$.createXHR = function(){
if (typeof XMLHttpRequest != "undefined"){return new XMLHttpRequest();
} else if (typeof ActiveXObject != "undefined"){
if (typeof arguments.callee.activeXString != "string"){
var versions = [ "MSXML2.XMLHttp.6.0","MSXML2.XMLHttp.3.0",
"MSXML2.XMLHttp"],
i,len;
for (i=0,len=versions.length; i < len; i++){
try {
new ActiveXObject(versions[i]);
arguments.callee.activeXString = versions[i];
break;
} catch (ex){
//跳过
}
}
}
return new ActiveXObject(arguments.callee.activeXString);
} else {
throw new Error("No XHR object available.");
}
}
// 封装AJAX // options,定义: // success的方法 : $.ajax = function(options){ // http // XmlHttpRequest var xhr = $.createXHR(); xhr.onreadystatechange = function(){ //数据接收完成 // console.log(xhr.readyState); // 如果 ,接收成功 if(xhr.readyState == 4){ // 要判断 是不是 200 的值 ,状态码,只有为200的时候 ,才可以去解析 // 返回的是正确的数据 if(xhr.status==200){ // 返回文本 var text = xhr.responseText; // eval 方法 , JS的解析器 eval("var jsonObj = " + text); // 执行定义的函数 options.success(jsonObj); } } }; // var sendData = "timestamp="+(+new Date) + "&name=1111&age=22&sex=1"; var sendData = "timestamp="+(+new Date) ; if(options.data){ for(var propertyName in options.data){ sendData = sendData + "&" +propertyName + "=" + options.data[propertyName]; } } // console.log(sendData); var url = options.url; if(options.method=="get"){ url = url + "?" + sendData; } // 准备数据 , 发送ajax xhr.open(options.method,url); // xhr.open("get","user.xml"); if(options.method == "post"){ xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); } // 1 // localhost:8080/hospitalpro/addServlet?name=1111&age=22&sex=1 if(options.method == "post"){ // 真正的发送 xhr.send(sendData); } if(options.method == "get"){ xhr.send(null); } };
原文链接:https://www.f2er.com/ajax/164562.html