如何使用js或jQuery向ajax请求添加自定义HTTP头?

有人知道如何使用JavaScript或jQuery添加或创建自定义HTTP头吗

根据您的需要,有几种解决方案

如果要向单个请求添加自定义头(或一组头),只需添加属性:

//带有自定义头的请求
$.ajax({
url:'foo/bar',
标题:{'x-my-custom-header':'some value'}
});

如果要向每个请求添加默认头(或一组头),请使用$.ajaxSetup()

$.ajaxSetup({
标题:{'x-my-custom-header':'some value'}
});
//发送您的自定义标题
$.ajax({url:'foo/bar'});
//用新标题覆盖默认标题
$.ajax({url:'foo/bar',头:{'x-some-other-header':'some-value'}});

如果要向每个请求添加一个头(或一组头),请使用发送前的钩子$。ajaxSetup()

$.ajaxSetup({
发送前:函数(xhr){
setRequestHeader('x-my-custom-header','some value');
}
});
//发送您的自定义标题
$.ajax({url:'foo/bar'});
//发送两个自定义标题
$.ajax({url:'foo/bar',头:{'x-some-other-header':'some-value'}});

编辑(更多信息):需要注意的一点是,使用ajaxSetup只能定义一组默认标题,在发送之前只能定义一个。如果多次调用ajaxSetup,则只会发送最后一组标头,并且只会执行发送前的最后一次回调

发表评论