Solution :
1. Désactivez la vérification csrf
Ajoutez
public $enableCsrfValidation = false;
dans le contrôleur 2. Ajouter un champ caché dans le formulaire
<input name="_csrf" type="hidden" id="_csrf" value="<?= Yii::$app -> request -> csrfToken ?>">
Cependant, dans la version avancée, il y aura du front et du backend, ce qui signifie que le nom n'est pas forcément _csrf , il peut s'agir de _csrf-backend ou _csrf-frontend, etc. Le nom du champ
_csrf doit être cohérent avec la page actuelle.
Tutoriel recommandé : framework yii
3. Soumission Ajax
J'utilise la bibliothèque ajax axios, mais elles sont toutes similaires. .
axios({ url: url, headers:{ '<?php echo \yii\web\Request::CSRF_HEADER; ?>' : '<?php echo Yii::$app -> request -> csrfToken; ?>' // _csrf验证 }, data: postData, }).then(response => { // 请求成功 回调 }).catch(error => { // 请求失败 回调 })
Pour plus de contenu lié à la programmation, veuillez faire attention à la colonne Introduction à la programmation sur le site Web chinois de PHP !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!