這篇文章主要介紹了yii2數據無法被驗證的解決方法,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
yii2您提交的數據無法被驗證怎么解決
在 yii 中,經常會碰到 您提交的數據無法被驗證 這種情況,這是因為 yii 有一個 csrf 驗證,
關閉csrf驗證
a)在控制器中添加
public $enableCsrfValidation = false;
b)在form表單中添加隱藏域
<input name="_csrf" type="hidden" id="_csrf" value="<?= Yii::$app -> request -> csrfToken ?>">
不過在高級版本中會有前臺后臺之分,也就是說name并不一定就是 _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 => { // 請求失敗 回調 })
感謝你能夠認真閱讀完這篇文章,希望小編分享的“yii2數據無法被驗證的解決方法”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。