【发布时间】:2016-12-27 09:58:49
【问题描述】:
我通过 Javascript 设置了一个 cookie my_cookie
function createCookie(name, value, days) {
var expires;
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
expires = "; expires="+date.toUTCString();
}
else {
expires = "";
}
document.cookie = name+"="+value+expires+"; path=/";
}
....
createCookie('my_cookie', 1, 365);
....
通过 Chrome Cookie 检查器,我看到创建的 cookie 的值为 1。
我尝试通过 Laravel Blade:
@if (Cookie::get('my_cookie') !== null) // or Cookie::get('my_cookie') == 1 or Cookie::get('my_cookie') == '1'
<p>set</p>
@else
<p>unset</p>
@endif
写unset
@if (request()->cookie('my_cookie') == '1') // or @if (request()->cookie('my_cookie') == 1)
<p>set</p>
@else
<p>unset</p>
@endif
结果总是unset。
【问题讨论】:
-
只有 laravel 创建的 cookie 才能被 laravel 处理。试试原生 cookie
$_COOKIE。或者尝试通过 laravel 创建 cookie 然后dd($_COOKIE)你会明白为什么 -
@KmasterYC:谢谢。如果您在回答中转换您的评论,我会接受它
-
好的。我现在搬家。谢谢你:)
标签: cookies laravel-5.2 laravel-blade