【问题标题】:Send cookies between subdomains在子域之间发送 cookie
【发布时间】:2014-05-21 17:38:17
【问题描述】:

我有一个从一个子域到另一个子域的 ajax 请求,即 sub1.example.com => sub2.example.com,而我有一个适用于所有域的 cookie。 (cookiedomain='.example.com')

document.cookie='myCookie=value;domain=.exmaple.com'
$.ajax( {url:'sub2.example.com' });

但是无论如何cookie都不会发送到服务器(node.js服务器)。

为什么会这样,有什么办法呢?

【问题讨论】:

  • 您是否尝试为其他子域显式发送域?
  • 在访问AAA.example.com 时为域BBB.example.com 设置cookie。请张贴Set-Cookie 可能还有Cookie 标头。
  • 是的,试过了,没用

标签: javascript ajax node.js cookies


【解决方案1】:

要解决这个问题,请在请求中添加withCredentials:true

$.ajax( {url:'sub2.example.com',
    xhrFields: {
       withCredentials: true
     }
    });

在服务器端(在我的例子中是 node.js),添加允许 Access-Control-Allow-Credentials:true

  res.header("Access-Control-Allow-Credentials", "true")

将发送域 cookie。

【讨论】:

  • 令我惊讶的是,即使对于相同的域/站点但不同的来源,也需要这样做。总之谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-08-31
  • 2011-04-21
  • 1970-01-01
  • 2012-06-09
  • 1970-01-01
  • 2017-05-14
相关资源
最近更新 更多