laravel 之cookies 的正确入水姿势

先引入下面的2两个很很重要的包包

use Cookie;
use Response;

 

1,特别注意,laravel 的cookie 必须在页面渲染之后才生效,或者说才执行。也就是 return view 之后,模板被渲染才生效;

如:

$cookie_key='todaywork'.date("Ymd",time());

return view('themes.defaults.customer.cluetemporarydetail',[
    "customerData" => $customerData,
    'source' => IncService::get("customer.source"),
    'loginUserData' => $this->permissionService->getLoginedUserInfo(),
    'todayWork'=>$request->cookie($cookie_key),//在view 之后用request 获取值

]);

 

2,怎么设置呢?

$cookie_key='todaywork'.date("Ymd",time()); $todaywork=$request->cookie($cookie_key);

if(empty($todaywork)){

$todayWork=['customer'=>0,'public'=>0,'total'=>$data['total']]; //注意中可是个数组

Cookie::queue($cookie_key, $todayWork, 60*24);//注意设置了有效期24小时

}

 

3,重点来啦,怎么在ajax 中设置,估计搜半天也找不到答案,哒哒哒哒哒哒,答案就在这里:

$cookie_key='todaywork'.date("Ymd",time());
$todayWork=$request->cookie($cookie_key);
if($data["customer_type"]==1){
    $todayWork['customer']=$todayWork['customer']+1;
}
if($data["customer_type"]==2){
    $todayWork['public']=$todayWork['public']+1;
}
$cookie=Cookie::make($cookie_key, $todayWork);
return Response::make(json_encode($result))->withCookie($cookie);//灰常有用的一行代码,在make中显示我们必要的输出,在withcookie 中来设置我们的coolie ,这样在ajax 中也就可以用cookie 了,就算ajax 没有也不需要渲染任何的页面,但我们还是可以用cookie ,因为我们用了resposnse 这个类,

 

game over  

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yijiliangfang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值