首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Chrome和IE未设置响应Cookie

Chrome和IE未设置响应Cookie
EN

Stack Overflow用户
提问于 2013-04-28 21:22:06
回答 2查看 19.2K关注 0票数 7

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

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

有什么想法吗?这与Chrome和IE10如何处理ajax请求中的响应cookies有关吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-29 04:43:34

所以我找出了问题所在,尽管这并不是我真正想要接受的解决方案。我想我将不得不处理它,并且总是使用Firefox在我的本地机器上测试站点。

所以问题来了:

当我在本地机器上从Visual Studio和IIS运行我的站点时,它会在一个类似http://localhost:1839/的地址上创建一个网站。出于某些原因,当ajax cookie是“本地主机”时,IE10和Chrome会忽略它--但当它是真实的主机名或IP地址时就不会了。所以,如果我编辑我的主文件,创建一个像localhost.com这样的通用条目,并将它指向127.0.0.1:1839,那么在IE和Chrome (火狐仍然是如此)中一切都工作得很好。

只有当我使用localhost:1839地址时,ajax cookie才能在Firefox中工作。

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

因此,对于那些在ajax请求中发送回cookie的人来说,要注意Chrome和IE的这个"localhost“问题。

票数 21
EN

Stack Overflow用户

发布于 2013-07-10 20:47:39

设置cookie上的域最有可能与使用localhost冲突。如果您编辑主机文件并添加别名,它将使test.mydomain.com指向您的本地计算机:

C:\ test.mydomain.com \System32\drivers\etc\hosts中的

  • 添加了以下内容:
    • 127.0.0.1 windows

  • 在Visual Studio中启动all服务器
  • 关闭所有浏览器,然后加载test.mydomain.com
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16263305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档