当前位置: 首页 > 面试题库 >

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

钦永贞
2023-03-14
问题内容

有谁知道如何使用JavaScript或jQuery添加或创建自定义HTTP标头?


问题答案:

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

如果要向 单个请求添加自定义标头(或标头集), 则只需添加headers属性:

// Request with custom header
$.ajax({
    url: 'foo/bar',
    headers: { 'x-my-custom-header': 'some value' }
});

如果要向 每个请求添加默认标头(或标头集),请 使用$.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()

$.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多次调用,将仅发送最后一组头,并且仅执行最后一个发送前回调。



 类似资料:
  • 问题内容: 澄清点:将自定义标头添加到我的jQuery ajax调用中没有任何问题,我想将我的自定义标头自动添加到所有ajax调用中。 如果您看看jquery $.ajax自定义http标头问题(不是我的问题),您将看到一个很好的示例,说明如何为每个ajax调用手动实现代码。 我想为所有jQuery ajax调用覆盖beforeSend。根据jQuery文档,我可以使用jQuery.ajaxSet

  • 问题内容: 我已经开发了一个Restfull应用程序,我想添加另一个Web应用程序来使用其服务,因此我进行了以下Ajax调用: 我得到这个例外: 对象{readyState:0,状态:0,statusText:“ SyntaxError:无法执行’setRequestHeader’…-Origin: ‘不是有效的HTTP标头字段名称。”}错误DOMException:无法在’XMLHttpRequ

  • 我有一个代码凌空代码 我该如何设置一个名为Authorization的标题??

  • 我有一个扩展类的类,它看起来像: 问题是,我可以向添加自定义吗?我浏览了和中可用的所有方法,但没有找到任何方法。但是在模式下,我发现在中有的列表。如何在此添加自定义?

  • 问题内容: 使用urllib2.urlopen(..)时,我想在请求中发送自定义的“ Accept”标头。我怎么做? 问题答案: 不完全的。创建对象实际上并不发送请求,并且Request对象没有方法。(还:是小写字母。)您需要做的就是将用作第一个参数,这将给您您的答复。

  • 问题内容: 如何在我的Laravel应用程序的Ajax请求(GET或POST)中自动添加csrf令牌,而无需将其手动添加到每个请求中。 我的ajax请求 问题答案: 在Laravel中,默认情况下, csrf令牌元标记 的值会通过Axios HTTP库进行注册。但是,如果您 不使用此库 ,则需要为应用程序手动配置此行为。 为此,请将令牌存储在HTML元标记中 然后,一旦创建了meta标签,就可以指