有谁知道如何使用JavaScript或jQuery添加或创建自定义HTTP标头?
根据您的需求,有几种解决方案…
如果要向 单个请求添加自定义标头(或标头集), 则只需添加headers属性:
headers
// Request with custom header $.ajax({ url: 'foo/bar', headers: { 'x-my-custom-header': 'some value' } });
如果要向 每个请求添加默认标头(或标头集),请 使用$.ajaxSetup():
$.ajaxSetup()
$.ajaxSetup({ headers: { 'x-my-custom-header': 'some value' } }); // Sends your custom header $.ajax({ url: 'foo/bar' }); // Overwrites the default header with a new header $.ajax({ url: 'foo/bar', headers: { 'x-some-other-header': 'some value' } });
如果 要向每个请求添加标头(或标头集), 则将beforeSend钩子与一起使用$.ajaxSetup():
beforeSend
$.ajaxSetup({ beforeSend: function(xhr) { xhr.setRequestHeader('x-my-custom-header', 'some value'); } }); // Sends your custom header $.ajax({ url: 'foo/bar' }); // Sends both custom headers $.ajax({ url: 'foo/bar', headers: { 'x-some-other-header': 'some value' } });
编辑(更多信息): 要注意的一件事情是,ajaxSetup您只能定义一组默认标头,而只能定义一个beforeSend。如果ajaxSetup多次调用,将仅发送最后一组头,并且仅执行最后一个发送前回调。
ajaxSetup