2016-06-17 14:57:30 0 评论 Yii 2.0 Boy.Lee

Yii 2.0 ajax 请求 CSRF 校验失败

最近在一次Yii 2.0 框架开发中遇到了ajax请求 csrf校验失败的问题,得到的错误提示为

Bad Request (#400)
您提交的数据无法验证.

经过测试发现试csrf cookies没有正确设置,在设置了Yii::$app->request->csrfParam 和 Yii::$app->request->csrfToken 后依旧报错。CSRF参数设置方法

经过一系列debug发现是controller里面的渲染代码格式错误导致,详情如下

//正确
return $this->render()
//错误
echo $this->render()

换回正确代码后,csrf校验恢复正常,真是小问题,忙死人不偿命啊。