小编典典

使用Yii 2在Ajax调用上收到错误请求(#400)

ajax

这是我的代码:

$(document).on('change', '#tblhotel-int_zone_id', function(e){
    var zoneId = $(this).val();
    var form_data = {
        zone: zoneId
    };
    $.ajax({
        url: "state",
        type: "POST",
        data: form_data,
        success: function(response)
        {
            alert(response);
        }
    });
});

由此可见:

错误的请求(#400):无法验证您的数据提交。

而且我已经有了<?= Html::csrfMetaTags() ?>。我该如何解决这个问题?


阅读 246

收藏
2020-07-26

共1个答案

小编典典

您对enableCsrfValidation有问题。要了解更多信息,可以在这里阅读。

要禁用CSRF,请将以下代码添加到您的控制器中:

public function beforeAction($action) {
    $this->enableCsrfValidation = false;
    return parent::beforeAction($action);
}

这将禁用所有操作。您可能应该根据$ action,仅对特定操作禁用它。

2020-07-26