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