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);
}
};