http的頭信息包括兩種:
1定页、響應(yīng)頭信息 服務(wù)器返回的信息 客戶端可以獲取,但是不可以設(shè)置
客戶端有兩種方法獲取響應(yīng)頭信息:
1咬腕、獲取所有的響應(yīng)頭信息
xhr.getAllResponseHeaders())
2奏黑、獲取指定的響應(yīng)頭信息
xhr.getResponseHeader(‘Content-Type’)
2膘融、請求頭信息 客戶端發(fā)送的信息 客戶端可以設(shè)置但是不可以獲取
xhr.setRequestHeader(‘MyHeader’, ‘Lee’); //放在 open方法之后腊凶, send方法之前
在火狐控制臺的網(wǎng)絡(luò)里可以看到
封裝一個(gè)ajax函數(shù)
function ajax(obj){
var xhr=new XMLHttpRequest();
obj.url=obj.url+"?random="+Math.random();
if(obj.method==="get")
obj.url+=obj.url.indexOf("?")==-1?+"?"+obj.data:+"&"+obj.data
obj.data=parms(obj.data);
if(obj.async===true){
xhr.onreadystatechange=function(){
if(xhr.readyState==4){
if(xhr.status==200){
obj.success(xhr.responseText);
}
}
}
xhr.open(obj.method,obj.url,obj.async);
if(obj.method==="post"){
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.send(obj.data);
}else{
xhr.send(null);
}
}
if(obj.async===false){
if(xhr.readyState==4){
if(xhr.status==200){
obj.success(xhr.responseText);
}
}
}
}
使用
addEvent(document,'click',function(){ ajax({ method:"get", url:"demo.php", data:{"name":"zwj","age":100}, success:function(data){ console.log(data); }, async:true }) })
注意回調(diào)函數(shù)的使用
function aa(obj){ obj.success(11) }
使用
aa({success:function(data){ console.log(data) }})