[英]Yii 2 Not Reading a Cookie Set From Javascript
有没有办法在Yii 2框架中获取Javascript设置的cookie的值?
使用此代码
if(Yii::$app->getRequest()->getCookies()->has('HELLO'))
{
die("YES COOKIE");
}
else
{
die("NO COOKIE");
}
我看到检查时已设置HELLO cookie。 但是,代码返回NO COOKIE。
像这样用Javascript设置cookie
function setCookie(cname, cvalue, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires="+ d.toUTCString();
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}
您在javascript中设置的Cookie尝试访问它们时不会通过yii验证。
验证的整个目的是确保yii读取和写入的cookie不被篡改。
我不知道您的确切用例,但是如果您需要客户端操作来设置Cookie数据,我希望通过ajax请求进行设置。
如果它不敏感(例如获取选项卡状态或smth),请使用$ _COOKIE全局变量进行访问。
或者,核选项,在应用程序配置中完全禁用cookie验证
文档可以在这里帮助您
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.