js如何设置http头部

如题所述

js只能设置XMLHttpRequest的请求头,http的请求头js是无法设置的,因为js开始起作用的时候http请求已经完成了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-15

使用 jQuery.ajax( url [, settings] ) ,settings 里面可以设置一个名为 headers 的参数

$.ajax({
    url:"xxx",
    // ...
    headers:{
        "Access-Control-Allow-Headers":"X-Requested-With"
    }
});

本回答被提问者和网友采纳
第2个回答  2017-07-28
使用 jQuery.ajax( url [, settings] ) ,settings 里面可以设置一个名为 headers 的参数

$.ajax({
url:"xxx",
// ...
headers:{
"Access-Control-Allow-Headers":"X-Requested-With"
}
});
第3个回答  2015-08-28
jQuery Ajax可以通过headers或beforeSend修改request的HTTP headers,例如:
$.ajax({
url: "./test.php",
type: "POST",
headers: {
"Accept" : "text/plain; charset=utf-8",
"Content-Type": "text/plain; charset=utf-8"
},
/*
beforeSend: function(jqXHR, settings) {
jqXHR.setRequestHeader('Accept', 'text/plain; charset=utf-8');
jqXHR.setRequestHeader('Content-Type', 'text/plain; charset=utf-8');
},
*/
data: {"user" : "min", "pass" : "he"},
error: function(jqXHR, textStatus, errorThrown) {
//....
},
success: function(data, textStatus, jqXHR) {
//....
}
}
第4个回答  2017-07-01
$("#test").click(function() {
$.ajax({
type: "GET",
url: "default.aspx",
beforeSend: function(request) {
request.setRequestHeader("Test", "Chenxizhang");
},
success: function(result) {
alert(result);
}
});
});

现在jquery已经成了Javascript实际标准了,要在ajax请求之前添加头信息。在jquery的ajax函数中有个beforeSend方法,这个方法接受一个参数就是XMLHttpRequest对象。调用该对象的setRequestHeader方法实现。
相似回答