下面由laravel教程欄目給大家介紹一個laravel刪除cookie的小坑,希望對需要的朋友有所幫助!
問題:使用 Cookie::forget 未能正確刪除 cookie。
如何才能正確刪除 Laravel 應用的 Cookie?
其實這里有一個小坑:我們在刪除 Laravel Cookie 的時候,一定要注意返回 Cookie 的刪除結果!
$cookie?=?Cookie::forget('refreshToken');//?這里我們返回的時候要使用?withCookie?!return?response('view')->withCookie($cookie);
以上解決方案適合在刪除 Cookie 后返回視圖的應用場景中。
然而,如果我們的請求是 API 請求,并且返回的是 JSON 數據呢,比如:
Cookie::forget('refreshToken');return?['status'?=>?true];
這個時候我們怎么刪除 Cookie ?這種1情況下即使我們使用 withCookie 也是沒用的!
所以針對這樣的應用場景,最終的解決方案是這樣的:
Cookie::queue(Cookie::forget('refreshToken'));return?['status'?=>?true];
使用 Cookie::queue 來達到目的。
這樣就能正確刪除 Laravel Cookie 的值了。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END