2015-06-17 170 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')" />