關於COOKIE使用過程為NULL


關於COOKIE使用過程中的一個小問題
在程序中要用到COOKIE,
網站website/login/login.aspx
傳值userID到 website/web/tab/web.aspx中的FRAMESET下的一個FRAME menu.aspx

cookie={
    setCookie:function(name,value)
    {
    /*
    *---------------setCookie(name,value) -----------------
    *setCookie(name,value)
    * 功能:設置得變量name的值
    * 參數:name,字符串;value,字符串.
    * 實例:setCookie('username','baobao')
    *---------------setCookie(name,value) -----------------
    */
      var Days = 30; //此 cookie 將被保存 30 天
      var exp = new Date();
      exp.setTime(exp.getTime() +Days*24*60*60*1000);
      document.cookie = name +"="+ escape (value) + ";expires=" + exp.toGMTString();
    },
    getCookie:function(name)
    {
    /*
    *---------------getCookie(name) -----------------
    *getCookie(name)
    * 功能:取得變量name的值
    * 參數:name,字符串.
    * 實例:alert(getCookie("baobao"));
    *---------------getCookie(name) -----------------
    */
      var arr =document.cookie.match(new RegExp("(^|)"+name+"=([^;]*)(;|$)"));
      if(arr !=null) return unescape(arr[2]); 
      return null;

    }
}

  

發現怎么SETCOOKIE、GETCOOKIE都為NULL
后來度娘說用到FRAMESET涉及到跨域的問題,這,這,有域可跨嗎?
試試吧,在網站IIS加一個HTTP頭 P3P(問度娘)
結果依然!!!
我問遍所有的QQ群,沒有得到任何的答案。
難道是我的SETCOOKIE和GETCOOKIE有問題?
我在以度娘了好久,沒有錯。

那,那……
我等了好幾天。

其中我用兩個網頁測試都沒有問題(注意是在同一個目錄下)
我甚至懷疑是一個是.html,另一個是.aspx的原因
后來我發現我的兩個頁面不在一個目錄下。
是不是這個原因呢?

我趕緊把兩個測試頁面放在同一個目錄下測試,成功。
再放到不同的目錄下測試,NULL

原來是這個原因,不同目錄下的COOKIE不能共享!!
還是度娘(萬能的度娘,我感謝你!)

后來網上也有朋友出來這個問題,
加上一小段就可以了。如下:

 

    setCookie:function(name,value) { /* *---------------setCookie(name,value) ----------------- *setCookie(name,value) * 功能:設置得變量name的值 * 參數:name,字符串;value,字符串. * 實例:setCookie('username','baobao') *---------------setCookie(name,value) ----------------- */
      var Days = 30; //此 cookie 將被保存 30 天
      var exp = new Date();    exp.setTime(exp.getTime() +Days*24*60*60*1000);    document.cookie = name +"="+ escape (value) + ";expires=" + exp.toGMTString()+";path=/"; }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM