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

Cookie未在Chrome跨域帖子中发送

苍宝
2023-03-14

我想使用POST提供跨域服务。我可以看到飞行前选项调用成功,但当我发布时,cookie不会以Chrome发送。相同的javascript和服务器代码适用于Firefox和Safari。有什么问题吗?详情如下:

请求URL:http://j.test.com/Post
请求方法: OPTIONS
状态码: 200 OK
请求头视图源
接受:/
接受-字符集: ISO-8859-1, utf-8; q=0.7,*; q=0.3
接受-编码: gzip, flate, sdch
接受-语言: en-US, en; q=0.8<访问-控制-请求-报头:来源,x-请求-与,内容类型,接受
访问-控制-请求-方法: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
用户代理:Mozilla/5.0(WindowsNT 5.1)AppleWebKit/536.11(KHTML,像壁虎)Chrome/20.0.1132.47Safari /536.11

响应标题
访问控制允许凭据:true
访问控制允许标题:来源、x-request-with、内容类型、接受
访问控制允许方法:POST、选项
访问控制允许来源: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个答案

谷梁浩思
2023-03-14

jQuery中,您可能还需要crossDomain:true。ajax()调用。

涂煌
2023-03-14

您必须将带有凭据的标志设置为true(http://techblog.constantcontact.com/software-development/using-cors-for-cross-domain-ajax-requests/)

 类似资料:
  • 问题内容: 似乎已经在stackoverflow上讨论过类似的内容,但是我找不到完全一样的东西。 我正在尝试发送带有CORS(跨源资源共享)的Cookie,但无法正常工作。 这是我的代码。 我在请求HEADER中看不到此Cookie。 问题答案: 您无法通过JavaScript在CORS请求上设置或读取Cookie。尽管CORS允许跨域请求,但cookie仍然受浏览器的同源策略约束,这意味着只有来

  • 我有一个问题,发送跨域会话cookie和搜索后,我得到了更困惑。最初,我在上有一个客户端(Next app),在上有一个api(Express)。发送和保存cookie在localhost上正常工作,但部署后,我遇到了一个问题,默认情况下将设置为。所以我把它改成了。但是我发现需要cookie集中的标志,所以我也改变了这一点。 将设置为后,将不再发送cookie。 如果设置了安全,并且您通过HTTP

  • 问题内容: 根据带有凭据的请求,Firefox仅在以下情况下发送凭据以及跨域帖子: 设置了…但是看来jQuery的Ajax API似乎没有为此提供任何机制。 有什么我想念的吗?我还有其他方法可以做到吗? 问题答案: 功能应该在jQuery 1.5中被破坏。 从jQuery 1.5.1开始,您应该使用xhrFields参数。 文件:http://api.jquery.com/jQuery.ajax/

  • 问题内容: 我有一个小问题。 如何为多个域设置Cookie? 我确实了解安全性问题,并且我确信以前已经做过。原因是SSO。 即。 将需要将登录域设置为: domain.com,domain1.com,domain2.com。 有没有简单的方法,可以使用PHP和Cookies或其他替代方法? 问题答案: domain.com绝对没有办法为domain1.com设置cookie。您试图做的事情只能通过

  • 问题内容: 我必须从域B.com调用域A.com(使用http设置cookie)。我在B.com域上所做的就是(javascript): 这将在我测试过的所有浏览器(Safari除外)上在A.com上设置Cookie。令人惊讶的是,即使没有P3P标头,它也可以在IE6中使用。 有什么办法可以使它在Safari中工作吗? 问题答案: 来自: Safari附带了一种保守的cookie策略,该策略将co

  • 问题内容: 根据chrome扩展,如果设置了权限,则应允许使用XMLHttpRequest对象的API跨域调用: 扩展可以与源外的远程服务器通信,只要它首先请求跨域许可。 我正在密切关注本教程,但是下面的代码给了我一条错误消息: XMLHttpRequest无法加载http://www.google.com/search?hl=zh_CN&q=ajax。Access- Control-Allow-