用jQuery在Ajax请求中添加标头

用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观看时,我看到以下标题:

选项xxxx/yyyyHTTP/1.1
主持人:127.0.0.1:6666
用户代理:Mozilla/5.0(WindowsNT6.1;WOW 64;RV:11.0)
接受:text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
接受语言:Fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
接受-编码:gzip,放气
联系:保持生命
原产地:空
访问-控制.请求.方法:POST
访问-控制-请求-标题:我的-第一-头,我-第二-头
Pragma:无缓存
缓存-控制:无缓存

为什么我的自定义标题会转到Access-Control-Request-Headers:

访问-控制-请求-标题:我的-第一-头,我-第二-头

我希望得到这样的头值:

My-First-Header:第一个值
我的-秒标题:第二个值

有可能吗?


largeQ
浏览 570回答 3
3回答

九州编程

下面是如何在JQueryAjax调用中设置请求头的示例:$.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));   }});

慕田峪4524236

下面的代码适用于我。我总是只使用单引号,而且效果很好。我建议你只使用单引号或双引号,但不要混淆。$.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);     }   });希望这能回答你的问题。
打开App,查看更多内容
随时随地看视频慕课网APP