-1

我使用 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。

4

1 回答 1

1

如果 COOKIE 过期设置为 0,则 cookie 将在会话结束时(浏览器关闭时)过期。所以,JS不会读取过期的COOKIE

尝试将 COOKIE 过期时间设置更长,

Cookie::put('id', $id , time()+3600, '/'); //set the cookie alive for 1 hour
于 2012-12-03T11:32:32.627 回答