繁体   English   中英

Yii 2不从Java读取Cookie集

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM