我使用Laravel PHP框架并使用Cookie :: put(..),
设置cookie使用Laravel PHP设置cookie的代码,
Cookie::put('id', $id , 0, '/');
当我调查它时,我发现cookie被设置为对我有利的根路径。
现在在JS中我使用jQuery插件来读取cookie,但在读取PHP设置的cookie时返回null。
访问cookie的JS代码,
function getCookie(c_name)
{
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i<ARRcookies.length;i++)
{
x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
x=x.replace(/^\s+|\s+$/g,"");
if (x==c_name){
return unescape(y);
}
}
}
的print_r($ _ COOKIE)
Array ( [id] => 653a8dbd0903d2eacfdfe87bce29640d136a4380+1 [session_payload] => 2c3e260bb766ea1519dcbc3d13025d3ede6e2e63+mSfAHUAPvmFefQbIArozzbQfY0IzZpAeTarpQsHHOseN+SD3xmmUWfUduVYWf7qVu1Rwo2XYIBSBTUt+J1DhbE9sN2yEelpjsHzU0CVw3F1aPpcPh6oSTzIfskr2hHuWIGi5sf1lvD7qRHtcjPOBD700vnQSy2+DIMTNT4eMS7pz85zi9TMpgLQfWbtUUtNQk1SRHwncwgQyp1xhgPqp4d6eLjaZQ2hXBtOgYbC2Ty5xS4e76WCW+dumNMj3hkSfMoDssKnmRTzV7jYUT6a+oH26tZkKOR8EMMh04xHMWlt73aFsL9EZrIXZFKHkOXqU883qThWot//emOpakBKWyA== [laravel_session] => 2729bdfca6fe6e6f3c98d03c11a65915649af09b+ML1G6xZ5YkImViUxm9gOaTo5AT8jyBfqagdoeyAs ) 1
更新:
我真的不知道为什么这会被投票,但在这里,
我想使用之前使用PHP添加的JS来访问cookie。
答案 0 :(得分:1)
如果COOKIE到期设置为0,则cookie将在会话结束时(浏览器关闭时)到期。所以,JS不会读取过期的COOKIE
尝试设置COOKIE到期时间更长,
Cookie::put('id', $id , time()+3600, '/'); //set the cookie alive for 1 hour