JavaScript没有看到MVC Cookies

时间:2012-06-25 23:32:22

标签: javascript asp.net-mvc-3

这是JavaScript代码:

var tmp = escape(document.cookie.match(/TestSession=[^;]+(;|$)/)[0]);`

使用MVC,如果我有这个功能:

var cookie = new HttpCookie("TestSession", "SomeValue") {
                 Expires = DateTime.Now.AddYears(1)
             };

但如果我补充:

cookie.Domain = "Test.com";

{ Expires = DateTime.Now.AddYears(1), Domain = "Test.com" };

JavaScript的tmpnullundefined

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

请记住,你cannot access cookies of another domain。因此,如果您在与 test.com 不同的域下运行该网站,您将无法访问该Cookie。

注意:从http://localhost开始工作时也是如此 - 因为localhosttest.com不是同一个来源。

要解决此问题,您可以检查服务器上的当前主机并相应地设置domain


更新 (评论后)

Andrei 所述,您还可以将主机条目添加到将test.com映射到localhost的本地主机文件中。但是,当您需要导航到网站的生产版本时,您需要记住将其注释掉。