ホームページ >PHPフレームワーク >YII >yii2 提出したデータが認証できない場合の解決方法
yii2 送信したデータを検証できません。問題を解決するにはどうすればよいですか?
yii では、次のようになります。 「データを検証できません。これは、yii に csrf 検証があるためです。
csrf 検証をオフにする
a)
public $enableCsrfValidation = false;を追加します」コントローラー
b) フォーム
<input name="_csrf" type="hidden" id="_csrf" value="<?= Yii::$app -> request -> csrfToken ?>">
に隠しフィールドを追加します。ただし、上級バージョンでは、フロントエンドとバックエンドが存在します。つまり、名前は必ずしも _csrf である必要はなく、_csrf である可能性もあります。 _csrf-backend または _csrf-frontend など。
_csrf のフィールド名は現在のページと一致している必要があります
c) ajax 送信
axios ajax ライブラリを使用していますが、すべて同じです
axios({ url: url, headers:{ '<?php echo \yii\web\Request::CSRF_HEADER; ?>' : '<?php echo Yii::$app -> request -> csrfToken; ?>' // _csrf验证 }, data: postData, }).then(response => { // 请求成功 回调 }).catch(error => { // 请求失败 回调 })
推奨: 「YII チュートリアル 」
以上がyii2 提出したデータが認証できない場合の解決方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。