Yii2-Cookies werden hauptsächlich über yiiwebRequest und yiiwebResponse betrieben
über Yii::$app-> >getCookies()->add() Cookie hinzufügen
Cookie über Yii::$app->request->cookies lesen (Empfohlenes Lernen: yii-Tutorial)
In js erstellte Cookies werden standardmäßig mit der Methode Yii::$app->request->cookies->get('abc') in yii2 abgerufen und können abgerufen werden Wenn Sie $_COOKIE['abc'] verwenden, hat dies folgende Gründe.
Wenn man sich Zeile 1218 in E:myYiiDemovendoryiisoftyii2webRequest.php ansieht, ist es nicht schwer zu erkennen, dass Wenn die Methode in yii2 verwendet wird, um das Cookie zu erhalten, die Zeichenfolge im cookieValidationKey gelesen wird entschlüsseln (das Cookie wird gespeichert und manchmal auch zur Verschlüsselung verwendet).
Da js das Cookie nicht verschlüsselt, kann es hier nicht entschlüsselt werden und das Cookie kann natürlich nicht abgerufen werden.
Die Lösung besteht darin, „enableCookieValidation“ auf „false“ zu setzen. Die spezifischen Vorgänge sind wie folgt:
Yii::$app->request->enableCookieValidation = false; Yii::$app->request->cookies->get('abc');
Warme Erinnerung:
Denken Sie daran, es nach der Verwendung wiederherzustellen (Yii::$app->request->enableCookieValidation = true;), da es sonst Auswirkungen auf die folgende Logik haben kann.
Das obige ist der detaillierte Inhalt vonGründe, warum das yii2-Cookie nicht abgerufen werden kann. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!