• 技术文章 >php框架 >YII

    yii2 cookie取不到的原因

    (*-*)浩(*-*)浩2019-11-05 11:55:48原创1143
    Yii2的Cookie主要是通过yii\web\Request和yii\web\Response进行操作

    通过\Yii::$app->response->getCookies()->add()添加Cookie

    通过\Yii::$app->request->cookies读取Cookie. (推荐学习:yii教程

    在js中创建的cookie,默认用yii2中自带的方法Yii::$app->request->cookies->get('abc')获取不到,而用$_COOKIE['abc']又是能获取到,则是以下原因照成的。

    查看E:\myYiiDemo\vendor\yiisoft\yii2\web\Request.php中的1218行不难看出,使用yii2中的方法获取cookie的时候,会读取cookieValidationKey中的字串来解密(存cookie的时候也会用它来加密)。

    由于js并没有对cookie加密,所以这里解不开,自然获取不到cookie了。

    解决方法可以将enableCookieValidation设置为false,具体操作如下:

    Yii::$app->request->enableCookieValidation = false;
    Yii::$app->request->cookies->get('abc');

    温馨提示:

    用完后记得恢复回来(Yii::$app->request->enableCookieValidation = true;),否则可能影响下面的逻辑。

    以上就是yii2 cookie取不到的原因的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:yii2
    上一篇:yii2 aftersave怎么用 下一篇:yii2中dao和ar区别
    线上培训班

    相关文章推荐

    • 如何解决Yii2针对游客和用户防范规则和限制• yii2使用GridView实现数据全选及批量删除的按钮• 关于yii2中使用webuploader实现图片上传的代码• 关于Yii2搭建后台并实现rbac权限控制

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网