2015-06-17 167 views
0

我試圖使用提示讓某人輸入值,將該值變爲cookie,然後有一個鏈接將該人重定向到第二個頁面,其中將顯示其cookie值。我遇到的問題是,無論我輸入什麼,所涉及的cookie都會繼續返回null。任何幫助,將不勝感激!Cookie值始終返回null

這是爲了成爲一個Javascript代碼。

首頁(提示頁面)

<!DOCTYPE html> 
 
<html> 
 
    <head> 
 
     <title>Event Handlers</title> 
 
<script> 
 
     function createCookie(name, value, days, path, domain, secure) { 
 
       if (days) { 
 
         var date = newDate(); 
 
         date.setTime(date.getTime() + (days*24*60*60*1000)); 
 
         var expires = date.toGMTString();//code 
 
       } 
 
       else var expires = ""; 
 
       cookieString = name + "=" + escape(value); 
 
       if (expires) cookieString += ";expires=" + expires; 
 
       if (path) cookieString += "; path=" + escape (path); 
 
       if (domain) cookieString += "; domain=" + escape (domain); 
 
       if (secure) cookieString += "; secure"; 
 
       document.cookie = cookieString 
 
           
 
       } 
 

 
function getCookie(name) { 
 
       var nameEquals = name + "="; 
 
       var crumbs = document.cookie.split(';'); 
 
       for (var i = 0; i < crumbs.length; i++) { 
 
           var crumb = crumbs[i]; 
 
           if (crumb.indexOf(nameEquals) == 0) { 
 
               return unescape(crumb.substring(nameEquals.length, crumb.length)); 
 
               //code 
 
           } 
 
       } 
 
       return null; 
 
} 
 

 
function deleteCookie(name) { 
 
       createCookie(name,"",-1); 
 
       //code 
 
} 
 
</script> 
 

 
    <script> 
 
    window.onload = function() { 
 
     var cookievalue = prompt("Cookie Value:"); 
 
     createCookie("myCookieData", cookievalue); 
 
    } 
 
    </script> 
 
    </head> 
 
    <body> 
 
<a href="/cookietest2">Go to Cookie Test Page 2</a> 
 
     
 
    </body> 
 
</html>

第二頁(顯示的Cookie頁)

<!DOCTYPE html> 
 
<html> 
 
    <title>Cookie Testing</title> 
 
    <head> 
 
    <script> 
 
function createCookie(name, value, days, path, domain, secure) { 
 
       if (days) { 
 
         var date = newDate(); 
 
         date.setTime(date.getTime() + (days*24*60*60*1000)); 
 
         var expires = date.toGMTString();//code 
 
       } 
 
       else var expires = ""; 
 
       cookieString = name + "=" + escape(value); 
 
       if (expires) cookieString += ";expires=" + expires; 
 
       if (path) cookieString += "; path=" + escape (path); 
 
       if (domain) cookieString += "; domain=" + escape (domain); 
 
       if (secure) cookieString += "; secure"; 
 
       document.cookie = cookieString 
 
           
 
       } 
 

 
function getCookie(name) { 
 
       var nameEquals = name + "="; 
 
       var crumbs = document.cookie.split(';'); 
 
       for (var i = 0; i < crumbs.length; i++) { 
 
           var crumb = crumbs[i]; 
 
           if (crumb.indexOf(nameEquals) == 0) { 
 
               return unescape(crumb.substring(nameEquals.length, crumb.length)); 
 
               //code 
 
           } 
 
       } 
 
       return null; 
 
} 
 

 
function deleteCookie(name) { 
 
       createCookie(name,"",-1); 
 
       //code 
 
} 
 
    </script> 
 

 
    
 
    <script> 
 
    window.onload = function() { 
 
     document.getElementById("output").innerHTML = "Your cookie value: " + getCookie("myCookieData"); 
 
    } 
 
</script> 
 

 
    </head> 
 
    <body> 
 
     <a href="/hour">Back to Cookie Test Page 1</a><br /> 
 
     <div id="output"></div> 
 
    </body> 
 
</html>

此外,如果任何人都可以提供關於如何添加按鈕到第二頁從第一頁刪除cookie的提示,那也將不勝感激!但現在,我只想弄清楚爲什麼我的cookies一直返回null。提前致謝!

回答

0

某些瀏覽器不允許在本地文件中使用Cookie。因此,如果您使用本地文件 - 嘗試將這些文件上傳到服務器並再次嘗試。適用於我。

要添加一個cookie刪除按鈕,您可以使用:

<input type="button" onClick="deleteCookie('myCookieData')" />