封装代码:
function ajax(option){
var ajax = new XMLHttpRequest();
if(option.type == "get"){ // get请求
ajax.open(option.type, option.url+ "?" + jsonToString(option.data), true);
ajax.send();
}else if(option.type == "post"){ // post请求
ajax.open(option.type, option.url, true);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.send(jsonToString(option.data));
}
ajax.onreadystatechange = function(){
// console.log(ajax.readyState);
// console.log(ajax.status);
if(ajax.readyState == 4){
if(ajax.status >= 200 && ajax.status < 300 || ajax.status == 304){
// console.log(ajax.responseText);
// console.log(ajax.status);
option.success(ajax.responseText);
}else{
// console.log("服务器错误!");
option.error();
}
}
};
// json 转换为:string
function jsonToString(json){
var arr = [];
for(var i in json){
arr.push(i + "=" + json[i]);
}
return arr.join("&");
}
}
调用方法:
ajax({
type : 'get', // 也可为post
url : 'http://localhost:9529',
data : {
user : user.value,
pass : pass.value
},
success : function(data){
if(data == "登录成功"){
alert("登录成功");
}else{
alert("登录失败");
}
},
error : function(){
console.log("服务器错误!");
}
});