gpt4 book ai didi

ajax - Chrome 和 IE 未设置响应 Cookie

转载 作者:行者123 更新时间:2023-12-04 13:08:27 25 4
gpt4 key购买 nike

我试图弄清楚为什么 Chrome (26.0.1410.64) 和 IE10 似乎无法识别我在来自 ASP.NET Web API Controller 的响应中设置的 cookie。这是情况:

我的页面上有一个下拉菜单登录表单,它对我的​​ Web API 方法(通过 HTTP POST)进行 ajax 调用,并且该 Web API 方法返回一些 JSON 数据并在响应中设置一个 cookie(使用 HTTP header ) .它在 Firefox 和 Safari(所以,WebKit)中完美运行,但不适用于 Chrome 或 IE。 Chrome 和 IE 似乎完全忽略了响应中发回的 cookie。我已经验证(使用 Fiddler)cookie 是在响应中发回的,所以我知道它在那里 - 我不明白为什么 IE10 和 Chrome 不接收它。

有任何想法吗?它与Chrome和IE10如何处理ajax请求中的响应cookie有关吗?

最佳答案

所以我想出了这个问题,尽管这不是我真正愿意接受的解决方案。我想我只需要处理它并始终使用 Firefox 在我的本地机器上测试该站点。

所以这里的问题是:

当我通过在本地计算机上的 Visual Studio 和 IIS 运行我的站点在本地运行它时,它会在类似 http://localhost:1839/ 的地址创建一个网站。 .出于某种原因,当 ajax cookie 是“localhost”时,IE10 和 Chrome 会忽略它——但当它是真实的主机名或 IP 地址时,则不会。因此,如果我编辑我的主机文件并创建一个像 localhost.com 这样的通用条目并将其指向 127.0.0.1:1839,那么在 IE 和 Chrome(和 Firefox 仍然如此)中一切正常。

这是我使用 localhost:1839 的时候ajax cookie 只适用于 Firefox 的地址。

所以我最终做的是将我的网站部署到不同的测试 IIS 服务器(在另一台机器上),我的本地主机文件中有一个 test.mydomain.com 条目 - 指向测试 IIS 服务器的 IP 地址。现在 IE、Chrome 和 Firefox 都接受来自这个伪造的“test.mydomain.com”域的 ajax cookie。

因此,对于那些在 ajax 请求中发回 cookie 的人 - 请注意 Chrome 和 IE 的“本地主机”问题。

关于ajax - Chrome 和 IE 未设置响应 Cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16263305/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com