1. 程式人生 > >yii框架 postman POST請求報錯400

yii框架 postman POST請求報錯400

查詢原因

出現這個錯誤的原因是因為yii框架預設是開啟了csrf驗證
yii2的csrf的實現功能是在yii\web\request類實現功能的。
request類中的屬性,預設是true的。
public $enableCsrfValidation = true;
所以我們在配置檔案中的request元件中可以配置該值
request => [
‘enableCookieValidation’ => true,
]

想要詳細瞭解你看request元件的csrf

解決辦法

  • 關閉csrf
public function init(){
    $this->enableCsrfValidation = false;
}
或者
public $enableCsrfValidation = false;
  • 如果是表單post請求 form加入隱藏域
    這裡寫圖片描述
<input name="_csrf" type="hidden" id="_csrf" value="<?= \Yii::$app->request->csrfToken ?>">

這個錯誤很容易讓人猜想是不符合http協議從而排錯方向錯誤而無法解決!
我就是方向錯了所以浪費了不少時間!!