一、为何要用到setRequestHeader
通常在HTTP协议里,客户端像服务器取得某个网页的时候,必须发送一个HTTP协议的头文件,告诉服务器客户端要下载什么信息以及相关的参数。而 XMLHTTP 就是通过HTTP协议取得网站上的文件数据的,所以也要发送HTTP头给服务器。 但是 XMLHTTP 默认的情况下有些参数可能没有说明在HTTP头里,这是当我们需要修改或添加这些参数时就用到了setRequestHeader 方法。
二、js设置
var xmlHttp = new XMLHttpRequest(); //这里没有做IE5、6兼容
在发送请求之前 ,调用方法 xmlHttp.setRequestHeader('xxxx','yyyy');即可
三、jquery设置
ajax函数中,有一个beforeSend方法,这个方法接受一个参数,就代表了发起异步请求的XMLHttpRequest对象,我们可以用该对象的setRequestHeader方法实现我们的目的:如下示例
$("#test").click(function() {
$.ajax({
type: "GET",
url: "xxxxx", //你的异步请求url
beforeSend: function(request) {
request.setRequestHeader("xxxx", "yyyy");
},
success: function(result) {
console.log(result);
}
});
});