Heim >PHP-Framework >YII >yii2 So lösen Sie das Problem, dass die von Ihnen übermittelten Daten nicht überprüft werden können
yii2 Was soll ich tun, wenn die von Ihnen übermittelten Daten nicht überprüft werden können?
In yii stoße ich oft darauf Sie übermitteln die Daten nicht. Dies liegt daran, dass yii über eine CSRF-Überprüfung verfügt.
a) Fügen Sie
public $enableCsrfValidation = false;im Controller hinzu b) Fügen Sie ein verstecktes Feld in der Form
<input name="_csrf" type="hidden" id="_csrf" value="<?= Yii::$app -> request -> csrfToken ?>">hinzu. In der erweiterten Version wird es jedoch ein Frontend und ein Backend geben, was bedeutet, dass der Name nicht unbedingt _csrf ist, sondern möglicherweise _csrf-backend oder _csrf-frontend und so weiter. Der Feldname von _csrf muss mit der aktuellen Seite übereinstimmenc) Ajax-ÜbermittlungIch verwende die Axios-Ajax-Bibliothek, aber sie sind alle ähnlich
axios({ url: url, headers:{ '<?php echo \yii\web\Request::CSRF_HEADER; ?>' : '<?php echo Yii::$app -> request -> csrfToken; ?>' // _csrf验证 }, data: postData, }).then(response => { // 请求成功 回调 }).catch(error => { // 请求失败 回调 })Empfohlen: „
YII-Tutorial
“Das obige ist der detaillierte Inhalt vonyii2 So lösen Sie das Problem, dass die von Ihnen übermittelten Daten nicht überprüft werden können. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!