如果ajax调用失败,如何绑定错误处理程序?

时间:2012-03-05 13:27:31

标签: jquery

我有以下代码:

$.get(viewUrl + para, function (data) {
    dialogDiv.html(data);
    ...
});

有什么办法可以为此添加错误检查吗?如果get失败会调用函数吗?

3 个答案:

答案 0 :(得分:6)

当然可以,使用.error()方法

$.get(viewUrl + para, function (data) {
    dialogDiv.html(data);
    // ...
}).error(function(e) {
   alert("an error occured");
   console.log(e);
});

还有更多事件可以处理ajax事件

.success()
.error()
.complete()

然而,从jQuery 1.8开始,它们已被弃用。而不是这些,你应该使用(如果使用jQuery> = 1.5)

.done()
.fail()
.always();

答案 1 :(得分:2)

由于$.get()$.ajax()方法的简写,您可以使用它:

$.ajax({
  url: viewUrl + para,
  success: function (data) {
    dialogDiv.html(data);
   ...
  },
  error: function() {
    alert("Error!");
  }
});

我推荐这个选项,因为它(至少对我来说)似乎更适合更复杂的AJAX请求。当然,添加错误回调可能并不构成复杂,但了解您的选择很好。

答案 2 :(得分:1)

var jqxhr = $.get("example.php", function() {
    alert("success");
  })
  .success(function() { alert("second success"); })
  .error(function() { alert("error"); })
  .complete(function() { alert("complete"); });