0

我创建了一个函数来获取 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。

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

4

2 回答 2

2

那是因为您的 cookie 可能会立即过期,如果可能的话,请将 cookie 过期时间设置为特定限制,而不是访问另一个页面上的 cookie 值来解决您的问题

就像是

document.cookie =
  'ppkcookie1=testcookie; expires=Thu, 2 Aug 2001 20:47:11 UTC; path=/'
于 2012-10-12T07:16:27.327 回答
1

您需要path在 cookie 中设置以便在不同的页面中访问

;path=/

例如,

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

于 2012-10-12T07:15:58.030 回答