我有一个隐藏表单的页面,其中一个值由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加密的,最后一页不是。
答案 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的到期日期并使用此公式设置到期日数