Ajax封装
代码:
function ajax(options){
var xhr = new XMLHttpRequest();
// 获取请求参数
var params = formdata(options.data); //a=1&b=2
// get请求
if (options.type=="GET") {
xhr.open(options.type,options.url+'?'+params,options.isAsync);
xhr.send();
}
//post请求
if (options.type=="POST") {
xhr.open(options.type,options.url,options.isAsync);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.send(params);
}
xhr.onreadystatechange = function(){
if (xhr.readyState==4&&xhr.status==200) {
options.success(xhr.responseText);
}
}
}
// 将对象 { a:1 ,b:2 } 转为 a=1&b=2
function formdata(obj){
var arr = [];
for(var k in obj){
arr.push(k+'='+obj[k]);
}
return arr.join('&')
}
调用:
ajax({
type:'请求方式(POST/GET)',
url:'请求地址',
isAsync:true, //是否异步
data:{
// 需要携带的参数
},
success:function(res){
// 成功的回调
}
})