通过PHP设置cookie并使用JavaScript读取

时间:2012-12-03 11:17:53

标签: php javascript jquery cookies laravel

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

1 个答案:

答案 0 :(得分:1)

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

尝试设置COOKIE到期时间更长,

Cookie::put('id', $id , time()+3600, '/'); //set the cookie alive for 1 hour