yii ajax post 请求出现400错误,如下:
Bad Request (#400): Unable to verify your data submission.
或者
错误请求(#400):无法验证您的数据
整个页面所有ajax请求都出现错误,在ajax请求的header里面包含了_csrf信息,由于使用了yii2-sortable-grid-view-widget
控件,所以无法通过ajax添加csrf来处理。
在网上总结了一下方法,将所有方法列出如下:
1、禁用csrf验证
在controller里面添加:
1 | public $enableCsrfValidation = false; |
或者
1 | public function init(){ |
禁止某一个action使用crsf验证
1 | public function beforeAction($action) { |
2、在ajax添加_csrf
参数
1 | var csrfToken = $('meta[name="csrf-token"]').attr("content"); |
1 | $.ajax({ |
3、在全局里面添加csrf数据
我采用这种方式,所有的ajax都会更新csrf,包括第三方控件。
1 | <script> |