YII2您提交的數據無法被驗證怎么解決
在 yii 中,經常會碰到 您提交的數據無法被驗證 這種情況,這是因為 yii 有一個 csrf 驗證,
關閉csrf驗證
a)在控制器中添加
public?$enableCsrfValidation?=?false;
b)在form表單中添加隱藏域
<input>?request?->?csrfToken??>">
不過在高級版本中會有前臺后臺之分,也就是說name并不一定就是 _csrf,有可能是 _csrf-backend 或者 _csrf-frontend 等等。
_csrf 的字段名一定要與當前頁面一致
c)ajax提交
我用的是axios ajax庫,其實都大同小異
axios({ ????url:?url, ????headers:{ ????????'<?php echo yiiwebRequest::CSRF_HEADER; ?>'?:?'<?php echo Yii::$app ->?request?->?csrfToken;??>'?//?_csrf驗證 ????}, ????data:?postData, }).then(response?=>?{ ????//?請求成功?回調 }).catch(error?=>?{ ????//?請求失敗?回調 })
推薦:《YII教程》?
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END