Cookie 集不会进入下一次刷新

Cookie set is not getting in next refresh

在我的 laravel 4.2 应用程序中,cookie 是通过 ajax 设置的。但在页面刷新时它显示未定义的索引标记 ($_COOKIE['token']).

//加入购物车功能

setcookie('token', $token);
                $token = $this->getcookie('token');
                if(isset($token)){
                     $cart  = Cart::create([ 'user'   => $token ]); 
                } 



public function getcookie($name) { 
        $cookies = [];
        $headers = headers_list();
        foreach($headers as $header) {
            if (strpos($header, 'Set-Cookie: ') === 0) {
                $value = str_replace('&', urlencode('&'), substr($header, 12));
                parse_str(current(explode(';', $value, 1)), $pair);
                $cookies = array_merge_recursive($cookies, $pair);
            }
        }
        return $cookies[$name];
    }

正在设置 cookie。 但是在页面刷新时,我没有得到设置的 cookie 值

您错过了给过期时间。

setcookie('token', $token, time() + (86400 * 30), "/");

它将保留 cookie 30 天。
检查 This

在laravel 4.2中,可以通过这种方式在响应中附加cookie。

创建 cookie

$cookie  = Cookie::make('unique_token', $token, time() + (86400 * 30));
return Response::make('cookie')->withCookie($cookie);

忘记 cookie

$cookie  = Cookie::forget('unique_token');
return Response::make('cookie')->withCookie($cookie);