0
我試圖從Laravel 5.3中的中間件檢索一個cookie,但它看起來像$ request-> cookie('language')是空的。我猜測它只是在中間件運行後才設置的。在Laravel 5中間件中獲取cookie
我在某處閱讀我應該使用\ Cookie :: queued('language'),但它仍然是空的。
是我唯一的選擇使用$ _COOKIE變量?
我試圖從Laravel 5.3中的中間件檢索一個cookie,但它看起來像$ request-> cookie('language')是空的。我猜測它只是在中間件運行後才設置的。在Laravel 5中間件中獲取cookie
我在某處閱讀我應該使用\ Cookie :: queued('language'),但它仍然是空的。
是我唯一的選擇使用$ _COOKIE變量?
你什麼時候設置這個cookie?
請記住,Cookie存儲在瀏覽器中,因此用戶需要獲得響應才能稍後檢索cookie。
您應該能夠在Cookie成功發送給用戶的響應設置後獲取cookie。還請記住,如果您使用dd(),則不會讓cookie被創建,因爲它會跳過所有發送給用戶的cookie標頭。
嘗試從中間件獲取cookie可能會遇到的另一個問題是,它可能不會自動解密,因此您必須自己做。
實施例:
\Crypt::decrypt(Cookie::get('language'))
1爲被提到在中間件非自動解密,問題我解決使用溶液 – Brigo