"Access Control Request Headers"是在使用jQuery进行AJAX请求时添加到标头中的。

17 浏览
0 Comments

"Access Control Request Headers"是在使用jQuery进行AJAX请求时添加到标头中的。

我想要在jQuery的AJAX POST请求中添加自定义的头部。

我试过以下代码:

$.ajax({
    type: 'POST',
    url: url,
    headers: {
        "My-First-Header":"first value",
        "My-Second-Header":"second value"
    }
    //OR
    //beforeSend: function(xhr) { 
    //  xhr.setRequestHeader("My-First-Header", "first value"); 
    //  xhr.setRequestHeader("My-Second-Header", "second value"); 
    //}
}).done(function(data) { 
    alert(data);
});

当我发送请求并且使用FireBug查看时,我会看到这个头部:

OPTIONS xxxx/yyyy HTTP/1.1

Host: 127.0.0.1:6666

User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/20100101 Firefox/11.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8

Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3

Accept-Encoding: gzip, deflate

Connection: keep-alive

Origin: null

Access-Control-Request-Method: POST

Access-Control-Request-Headers: my-first-header,my-second-header

Pragma: no-cache

Cache-Control: no-cache

为什么我的自定义头部被放在Access-Control-Request-Headers中:

Access-Control-Request-Headers: my-first-header,my-second-header

我期望的是这样的头部值:

My-First-Header: first value

My-Second-Header: second value

是否有可能实现这个目标?

admin 更改状态以发布 2023年5月21日
0
0 Comments

下面的代码对我来说可以工作。我总是只使用单引号,并且它可以很好地工作。我建议您只使用单引号或只使用双引号,而不是混用。

$.ajax({
    url: 'YourRestEndPoint',
    headers: {
        'Authorization':'Basic xxxxxxxxxxxxx',
        'X-CSRF-TOKEN':'xxxxxxxxxxxxxxxxxxxx',
        'Content-Type':'application/json'
    },
    method: 'POST',
    dataType: 'json',
    data: YourData,
    success: function(data){
      console.log('succes: '+data);
    }
  });

0
0 Comments

这是一个如何在jQuery Ajax调用中设置请求头的示例:\n\n

$.ajax({
  type: "POST",
  beforeSend: function(request) {
    request.setRequestHeader("Authority", authorizationToken);
  },
  url: "entities",
  data: "json=" + escape(JSON.stringify(createRequestObject)),
  processData: false,
  success: function(msg) {
    $("#results").append("The result =" + StringifyPretty(msg));
  }
});

0