原声js实现ajax请求
面试前查缺补漏,记录一下
var Ajax = {
//在原声js中使用XMLHttpRequest对象实现
get:function(url,fn){
var xhr = new XMLHttpRequest();
//.open(method,url,async)
xhr.open(‘get’,url,true);
xhr.onreadystatechange = function(){
if(xhr.readyState = 4 && xhr.status == 200 || xhr.status == 304)
{
//获取请求到的数据
fn.call(this,xhr.responseText);
}
},
xhr.send();
},
post:function(url,data,fn){
var xhr = new XMLHttpRequest();
xhr.open(‘post’,url,true){
//post类型请求需要添加请求头!
xhr.setRequestHeader(‘content-type’,’application/x-www-form-urlencoded’);
//还是判断请求的状态
If(xhr.readystate ==4 && xhr.status ==200 || xhr.status ==304){
//注意状态信息和状态码,304表示协商缓存,与状态码301/302重定向无关
}
xhr.send(data);
}
}
}