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 に答える