【问题标题】:jquery ajax call put datajquery ajax 调用 put 数据
【发布时间】:2018-01-31 05:29:05
【问题描述】:

$.ajax({

type: "PUT",
url: url,
data: data,
dataType: 'json',
success: function(data) {
  alert("success");


},
error: function(data) {
  var errors = data.responseJSON;
  console.log(errors);
}

})
});

即使后调用失败(验证错误)也会触发成功事件,何时调用错误函数?我做错了什么?

【问题讨论】:

  • 尝试将 url: 'url, 更改为 url:url, 。希望这会有所帮助。
  • 发生错误时尝试使用status: :unprocessable_entity发送响应状态
  • @SushantPimple 这是一个错字。我现在已经编辑了
  • 您正在发送状态码为 200 的错误。这就是 jquery 将其视为成功的原因。发送带有状态码 400 或其他内容的验证错误
  • @Vishal 谢谢你。这就是错误所在

标签: jquery ruby-on-rails ajax


【解决方案1】:

当验证失败时,您需要使用status: :unprocessable_entity 发送响应状态,因此它将在 ajax 调用中进入错误事件

【讨论】:

    【解决方案2】:

    Ajax错误函数中需要的参数是jqXHR,异常,如下使用:

      $.ajax({
        type: "PUT",
        url: url,
        data: data,
        dataType: 'json',
        success: function(data) {
            console.log(data);
        },
        error: function (jqXHR, exception) {
            console.log(jqXHR);
        }
      });
    

    【讨论】:

      猜你喜欢
      • 2012-10-14
      • 1970-01-01
      • 2016-09-23
      • 1970-01-01
      • 2011-12-23
      • 1970-01-01
      • 2014-02-17
      • 2012-04-05
      • 2021-10-01
      相关资源
      最近更新 更多