查找原因
出现这个错误的原因是因为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协议从而排错方向错误而无法解决!
我就是方向错了所以浪费了不少时间!!