当前位置: 首页 > 面试题库 >

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

邢骏
2023-03-14
问题内容

这是我的代码:

$(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() ?>。我该如何解决这个问题?


问题答案:

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

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

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

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



 类似资料:
  • 通过邮递员API正在工作,但相同的API不与改造工作,我收到400个错误的改造要求 返回true或false的endpoint@POST(“/emrmegax/api/allscript/saveappointment”)调用saveappointment(@Header(“x-auth-token”)字符串header1,@Body字符串yy);

  • 问题内容: 我正在编写一个应用程序,我需要从另一台服务器访问客户端中的一些json数据。由于跨域问题,我计划使用jsonp。jQuery允许我使用$ .getJSON()方法来执行此操作,但是,我无法判断该方法是否失败(即服务器没有响应或其他原因)。所以我尝试了使用$ .ajax来获取JSON数据的方法。但这不起作用,我也不知道该怎么做。这是显示我的问题的示例: 如果使用此代码创建一个网页,然后单

  • 在尝试使用时,我不断收到错误的请求错误。我尝试了和方法,但都没有成功,所以我做错了吗? 堆栈跟踪:(隐藏的api名称)

  • 我想我会在这里问这个问题,因为我不太确定我会错在哪里。我正在尝试使用Django Rest框架类通过AJAX执行POST请求。但是,每当事件触发时,我都会收到以下错误: 这是堆栈跟踪中显示的内容: 上下文 我试图做到这一点,当用户单击“添加到列表”按钮时,它会向用户定义的列表发送一个cafeName(以及最终的其他详细信息)。 我想知道是否有人可以看看我的代码,并给我一些指导,我哪里出了问题? 代

  • 我目前正在努力从API获取一些数据,但在一些请求中遇到了问题。 当前调用和其他一些类似的调用似乎不起作用,而其他调用则起作用(除了这些调用不使用“payload”参数)。我在文档中使用了相同的示例,因此不确定这些示例为什么不起作用。 回报 有人有主意吗?谢谢。

  • 目标是通过ajax将对象发送到另一台服务器,这是我为CORS设置的,下面是代码。ajax代码片段: 正确发布数据,但使用