第一种解决办法是关闭Csrf
public function init(){
$this->enableCsrfValidation = false;
}
第二种解决办法是在form表单中加入csrf隐藏域表单。表单名根据我们的cookie设置。或者设置request组件的csrfParam字段为自己想要的字段名
<input name="_csrf" type="hidden" id="_csrf" value="<?= Yii::$app->request->csrfToken ?>">
第三种解决方法 Ajax post请求时,带上csrf的对应的cookie名,一起post传送到接受处
var csrfToken = $('.csrf').val();
$.ajax({
type: 'POST',
url: url,
data: {_csrf:csrfToken},
success: success,
dataType: dataType
});