无法在javascript中访问cookie

时间:2012-10-12 07:13:25

标签: javascript

我创建了一个函数来获取javascript中的cookie:

   function getCookie() {
        var arr = document.cookie.split(";");
        for (i = 0; i < arr.length; i++) {
            if (arr[i].substr(0, arr[i].indexOf("=")).replace(/^\s+|\s+$/g, "") == "taxibleC") {
                return arr[i].substr(arr[i].indexOf("=") + 1);
            }
        }
    }
    var multipleVAT = 1;

然后我有另一个函数来初始化cookie:

  function ChangeVATValue() 
   {
      if ($("#vatEnable").is(':checked')) {
         multipleVAT = 1;
      } else {
         multipleVAT = 0;
      }
      document.cookie = "taxibleC=" + multipleVAT;
      alert(getCookie());
   }

当我使用alert(getCookie());时,它的值为1。 但是当我点击另一页时,警报为0.

有人能告诉我,为什么我无法在我的asp.net MVC 3.0项目视图中使用getCookie()方法访问会话。

2 个答案:

答案 0 :(得分:2)

这是因为你的cookie可能会立即过期,如果可能的话,可以将cookie过期时间发送到认证限制,而不是在另一个解决问题的页面上访问cookie的值

类似

document.cookie =
  'ppkcookie1=testcookie; expires=Thu, 2 Aug 2001 20:47:11 UTC; path=/'

答案 1 :(得分:1)

您需要在Cookie中设置path以便在不同页面中进行访问

;path=/

例如,

document.cookie = 'YOUR COOKIE DATA;path=/'