Cookie不在Chrome Cross Domain Post中发送

时间:2012-09-04 17:26:50

标签: jquery google-chrome cross-domain cors

我想使用POST提供跨域服务。我可以看到预检OPTIONS调用成功,但是当我发布时,cookie不会在Chrome中发送。相同的JavaScript和服务器代码适用于Firefox和Safari。可能是什么问题呢?以下是详细信息:

请求网址:http://j.test.com/Post
请求方法:选项
状态代码:200 OK
请求Headersview来源
接受: /
接收字符集:ISO-8859-1,utf-8; Q = 0.7,*; Q = 0.3
接受编码:gzip,紧缩,SDCH
接受语言:EN-US,EN; Q = 0.8
Access-Control-Request-Headers:origin,x-requested-with,content-type,accept
访问控制请求-方法:POST
连接:保持活跃
主持人:j.test.com
产地:HTTP://www.amazon.com
引用站点:HTTP://www.amazon.com/Gone-Girl-A-Novel-ebook/dp/B006LSZECO/ref=pd_rhf_gw_s_ts_2
User-Agent:Mozilla / 5.0(Windows NT 5.1)AppleWebKit / 536.11(KHTML,与Gecko一样)Chrome / 20.0.1132.47 Safari / 536.11

响应标题
访问控制允许的凭据:真
Access-Control-Allow-Headers:origin,x-requested-with,content-type,accept
访问控制允许方法:POST,OPTIONS
访问控制允许来源:HTTP://www.amazon.com
访问控制 - 最大 - 年龄:1728000
连接:保持活跃
内容长度:0
日期:2012年9月4日星期二16:44:48 GMT
服务器:nginx

我使用jQuery:

  jQuery.ajax({
     type: "POST",
     url: "http://j.test.com/Post",
     xhrFields: {
        withCredentials: true
     },
     data: {
            referringUrl: document.URL
           },
     success: function(data) {
     },
     error: function (responseData, textStatus, errorThrown) {
     }
  });

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

您的crossDomain: true来电可能还需要jQuery.ajax()