js如何设置http头部

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js如何设置http头部相关的知识,希望对你有一定的参考价值。

js只能设置XMLHttpRequest的请求头,http的请求头js是无法设置的,因为js开始起作用的时候http请求已经完成了。 参考技术A

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

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

本回答被提问者和网友采纳
参考技术B 使用 jQuery.ajax( url [, settings] ) ,settings 里面可以设置一个名为 headers 的参数

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

);
参考技术C 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)
//....

参考技术D $("#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方法实现。

以上是关于js如何设置http头部的主要内容,如果未能解决你的问题,请参考以下文章

HTTP请求头和响应头部包括的信息有哪些?

HTTP的头部字段大全

HTTP的头部字段大全

js获取HTTP的请求头信息

http请求获取不到响应头部信息

HTTP头信息