【问题标题】:document.cookie is empty when it is in the response headerdocument.cookie 在响应头中时为空
【发布时间】:2019-08-06 20:24:57
【问题描述】:

我正在开发一个 .net core api 项目,我正在尝试在响应中设置一个简单的 cookie,如下所示:

HttpContext.Response.Cookies.Append("user", "test", new CookieOptions() { Path = "/", Domain = "", IsEssential = true });

我可以在 Safari 的响应标头中看到 cookie,但在 Chrome 中看不到。 更具体的问题是,即使我在标题中看到 cookie,document.cookie 始终是一个空字符串。我知道 HTTPOnly 不允许从浏览器访问 cookie,但在我的情况下它默认为 false。

我从一个托管在 localhost:3000 的 react 应用程序运行它,它正在连接到 localhost:5001 的 api。我认为这无关紧要,因为无论如何都在标题中设置了 cookie。顺便说一句,我已经将它部署到一个站点,所以它都在同一个域下,但这似乎并不重要。有什么想法吗?

【问题讨论】:

    标签: javascript c# reactjs asp.net-core


    【解决方案1】:

    Chrome 不允许在空域上设置 cookie。尝试使用Domain = null

    完整示例:

    HttpContext.Response.Cookies.Append("user", "test", new CookieOptions() { Path = "/", Domain = null, IsEssential = true });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-26
      • 2018-04-10
      • 1970-01-01
      • 2016-02-25
      • 1970-01-01
      • 1970-01-01
      • 2019-06-20
      • 1970-01-01
      相关资源
      最近更新 更多