现在的位置: 首页 -> PHP学习 -> js生成的cookie在yii2中获取不到的解决办法

js生成的cookie在yii2中获取不到的解决办法

2016-11-02 00:00评论数 1 ⁄ 被浏览 8906 views+

在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;),否则可能影响下面的逻辑。

 

文章出自:https://www.daixiaorui.com/read/227.html 本站所有文章,除注明出处外皆为原创,转载请注明本文地址,版权所有。

目前有 1 条评论  @我要评论

  1. 1楼IT共享导航 : 2016-11-04 16:27:46 评论说: @回复

    文章不错,带出处已转载至IT共享导航http://itdh.boqingbokeji.com

您的每一个评论都是对我的一份支持

 博客二维码

昵称 *

邮箱 *