当前位置: 首页 > 知识库问答 >
问题:

如何在jQueryAjax中向请求添加头?

丁志勇
2023-03-14

我正在尝试使用JQuery在Ajax中向请求添加头。

以下是代码:-

$.ajax({
    type: "POST",
    contentType: "application/json",
    url: "http://localhost:8080/core-service/services/v1.0/patients/registerPatients",
    data: JSON.stringify(patientDTO),
    //crossDomain : true,
    dataType: 'json',
    headers: {"X-AUTH-TOKEN" : tokken},
    success: function(patientDTO) {
        console.log("SUCCESS: ", patientDTO);
        /* location.href = "fieldagentHRA.html";*/
        if (typeof(Storage) !== "undefined") {
            localStorage.setItem("patUrn", patientDTO.data);
            location.href="fieldagentHRA.html";
        }
    },
    error: function(e) {
    console.log("ERROR: ", e);
    display(e);
    },
    done: function(e) {
    enableRegisterButton(true);
    }
});

然后我使用了要求(要求是chrome火狐插件,我们可以手动添加一个标题到请求)。

手动添加标题后:-

在这两个pics请求头中,“ACCESS-CONTROL-request-HEADERS”中都有x-auth-token,但第二个pic中有“x-auth-token”头和头值,而第一个pic中没有。

所以我的问题是如何使用JQuery在Ajax中添加请求头?

共有1个答案

柴瀚昂
2023-03-14

根据您想做什么,有两种解决方案

如果要向单个请求添加自定义标题(或标题集),则只需添加标题属性,这将帮助您发送带有标题的请求。

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

如果想为每个请求添加默认的标头(或一组标头),请使用$. ajaxSetup():这将帮助您添加标头。

//Setup headers here and than call ajax
$.ajaxSetup({
    headers: { 'x-my-custom-header': 'some value' }
});

// Sends your ajax
$.ajax({ url: 'foo/bar' });

向每个请求添加一个头(或一组头),然后使用带有$的beforeSend钩子。ajaxSetup():

//Hook your headers here and set it with before send function.
$.ajaxSetup({
    beforeSend: function(xhr) {
        xhr.setRequestHeader('x-my-custom-header', 'some value');
    }
});

// Sends your ajax
$.ajax({ url: 'foo/bar' });

参考链接:AjaxSetup

参考链接:AjaxHeaders

 类似资料:
  • 问题内容: 我有一个尝试发送的HTTP GET请求。我尝试通过首先创建一个对象并将参数添加到该对象,然后调用我的对象,来将参数添加到此请求中。此方法失败。但是,如果我手动将参数添加到URL中(即append ),它将成功。 我知道我在这里缺少任何东西,任何帮助将不胜感激。 问题答案: 我使用NameValuePair和URLEncodedUtils列表创建所需的url字符串。

  • 我创建了一个基于wsdl文件的客户机。 这可能是因为web服务是用C#编写的,而且最有可能的是,它需要oasis头,在其中存储用户名和密码值。 我现在能创造的新环境是: 所需的enevelope如下:

  • 我已经在标题中添加了CORS,但我仍然在请求中得到CORS问题。在头中添加和处理CORS和其他请求的正确方法是什么? 以下是服务文件代码: 错误: 对preflight请求的响应未通过访问控制检查:请求的资源上没有“access-control-allow-origin”标头。因此,不允许访问源“http://localhost:4200” 失败:(未知url)的Http失败响应:0未知错误 在我

  • 我正在使用kotlin开发一个android应用程序,在这条道路上,我想使用请求来响应restall服务器...现在看看我从服务器请求它的代码,它是真的,但我不知道如何将头的参数添加到我的请求

  • 问题内容: 我正在与现有的servlet集成,该servlet从HTTP标头中提取一些属性。基本上,我实现的接口无法访问实际请求,它只能访问HTTP标头的k-> v映射。 我需要传递一个请求参数。计划是使用servlet过滤器从参数到标头值,但是HttpServletRequest对象当然没有addHeader()方法。 有任何想法吗? 问题答案: Extend ,覆盖标头吸气剂以返回参数: ..

  • 我使用的是Swagger 2.0和Swagger UI 3.0.3。 在我的api_定义中。yaml在我的路径之前有以下内容: 这将在Swagger UI中添加一个授权按钮,用户可以在其中粘贴他们的API密钥。我希望此API密钥在每个请求的请求标头中发送。但这不会发生,我不确定为什么。我错过了什么吗? 编辑: 请求似乎发出了,我回来了。 Chrome开发工具显示以下请求头: 我有路径设置为: 定义