Javascript Cookie无法在其他网页上使用

时间:2016-12-03 10:59:55

标签: javascript php jquery cookies

好的我有一个javascript cookie,它可以在网站的当前页面(www.example.com/about.php)上运行,但是在网站的索引页面(www.example.com)上,它无效。它说没有设置cookie。

我想在另一个页面中显示cookie值。有任何想法吗?

这是我的代码: -

在www.example.com/about.php页面上点击按钮事件: -

var cookievalue="testingCookie";
document.cookie="stateNcity=" + cookievalue;
var a=document.cookie;
alert(a);

并在www.example.com中: -

<div id="abcd">click</div>

$("#abcd").on("click",function()
    {
         var cookie_string = document.cookie;
         if (cookie_string.length !=0)
         {
             alert(cookie_string);
         }
         else
         {
             alert('cookie is not set');
         }
    });

1 个答案:

答案 0 :(得分:0)

在设置Cookie时,您应指定过期时间和路径。如果您没有指定路径,则只能通过当前页面访问cookie。

参见参考:http://www.w3schools.com/js/js_cookies.asp

例如:

var cookievalue,
    cookieexpire,
    cookiepath,
    date;

cookievalue ="testingCookie";

date = new Date();
date.setTime(date.getTime() + 3600 ); // will last 3600 seconds (1 hour)
cookieexpire = date.toGMTString();

cookiepath = "/"; // accessible from every web page of the domain

document.cookie="stateNcity=" + cookievalue + "; expires=" + cookieexpire + "; path=" + cookiepath;

这是非常明显的,但是当用户导航到www.example.com时,只有当他/她首次访问www.example.com/about.php并触发点击时,才会生成cookie。

纯JavaScript中的Cookie管理并非易事。

当您使用jquery标记问题时,我建议将其用于Cookie管理,请参阅https://stackoverflow.com/a/1458728/1579327