-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 に答える