2 回答
TA贡献1852条经验 获得超1个赞
//模拟jQuery封装ajax 暂不考虑跨域和默认返回数据类型为JSON
function ajax(obj){
var temp={
type:'get',
url:"#",
data:{},
success:function(param){console.log(param)}
};
for(var key in obj){
temp[key]=obj[key];
}
var data='';
for(var key in temp.data){
data+=`${key}=${temp.data[key]}&`;
}
if(data){
data=data.substr(0,data.length-1);
}
var xhr=new XMLHttpRequest();
xhr.onreadystatechange=function(){
if(xhr.readyState===4){
if(xhr.status===200){
var param=JSON.parse(xhr.responseText);
temp.success(param);
}
}
};
var main=null;
if(temp.type==='get'){
temp.url+="?"+data;
}
xhr.open(temp.type,temp.url,true);
if(temp.type==='post'){
main=data;
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded,charset=UTF-8 ');
}
xhr.send(main);
}
添加回答
举报
