加载另一个页面后,Javascript Cookie值会丢失

时间:2015-11-03 09:42:22

标签: javascript jquery cookies

我有一个隐藏表单的页面,其中一个值由php回显。

使用javascript / jQuery我获取值并将其存储在cookie中。用户被重定向到外部页面,然后被重定向回另一页面上的我的站点。在此页面上,cookie值为" 0" (价值丢失了。)

更新:最后一页位于设置Cookie的页面上方的目录中。我设置了#34;路径"在cookie上,但它仍然无法正常工作。

所以 - 首先我做重定向(通过提交表单),然后我设置cookie:

function sendPostRequest(){
    var $ = jQuery;

    document.myform.submit(); //submitting the form

    var now = new Date();
    var time = now.getTime();
    time += 144000 * 1000;
    now.setTime(time);
    document.cookie =
        'member_id=' + $('#member_input').val() + //getting the value, setting the cookie
        '; expires=' + now.toUTCString() +
        '; path=http://domain-name/the-last-page/';

    console.log(document.cookie); //the cookie is set
    alert($('#member_input').val());
} 

在重定向后,cookie应按原样设置。

当用户从外部页面返回到新页面时,它会显示member_id=0。所以价值就会丢失。

我怀疑"路径"有问题。我之前尝试过path=/。初始页面的路径如下:http://domain-name/directory/the-first-page/

更新2: 可能相关的另一个信息是初始页面不是SSL加密的,但外部页面是SSL加密的,最后一页不是。

1 个答案:

答案 0 :(得分:0)

 var d = new Date();
 var days=5;
    d.setTime(d.getTime() + (days*24*60*60*1000));
    var expires = ""+d.toUTCString();

document.cookie =
        'member_id=' + $('#member_input').val() + //getting the value, setting the cookie
        '; expires=' + expires +
        '; path=/';

使用日期设置cookie的到期日期并使用此公式设置到期日数