解決方法:
1、關閉csrf驗證
在控制器中添加
public?$enableCsrfValidation?=?false;
2、在form表單中添加隱藏域
<input>?request?->?csrfToken??>">
不過在高級版本中會有前臺后臺之分,也就是說name并不一定就是 _csrf,有可能是 _csrf-backend 或者 _csrf-frontend 等等。
_csrf 的字段名一定要與當前頁面一致。
推薦教程:yii框架
3、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?=>?{ ????//?請求失敗?回調 })
更多編程相關內容,請關注php中文網yii框架欄目!
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END