在 yii 中,經常會碰到,“您提交的數據無法被驗證?”這種情況,這是因為 yii 有一個 csrf 驗證。
關閉csrf驗證即可。
一、在控制器中添加
public?$enableCsrfValidation?=?false;
二、在form表單中添加隱藏域
<input>?request?->?csrfToken??>">
不過在高級版本中會有前臺后臺之分,也就是說name并不一定就是 _csrf,有可能是 _csrf-backend 或者 _csrf-frontend 等等。
_csrf 的字段名一定要與當前頁面一致。
三、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