下面由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 的值了。
以上是注意! Laravel刪除Cookie的小坑的詳細內容。更多資訊請關注PHP中文網其他相關文章!