如何从成功函数手动调用Ajax“error:function()”函数?

时间:2017-04-07 05:13:24

标签: javascript jquery ajax

如何调用错误:手动成功:功能?有可能吗?

success: function(data) {
    response($.map(data, function(item) {
      if (item != "some value") {
        // Call error:function from here 
      }
      return item;
    }))
  },
  error: function(xhr, status, error) {
    var err = eval("(" + xhr.responseText + ")");
    alert(err.Message);
  }

3 个答案:

答案 0 :(得分:2)

像这样:

success: function(data) {
    response($.map(data, function(item) {
        if (item != "some value") {
            onError(...) 
        }
        return item;
    }))
},
error: onError


var onError = function(xhr, status, error) {
    var err = eval("(" + xhr.responseText + ")");
    alert(err.Message);
} 

顺便说一句,使用eval绝不是一个好主意。

答案 1 :(得分:2)

成功是请求成功时要调用的函数

错误是请求失败时要调用的函数 所以在后台你的问题没有意义。

但是,当呼叫成功或失败时,你可能有共同的事情要做;我的建议是在一个单独的函数中收集所有常见的事情,并在成功和错误中调用这个常用函数

答案 2 :(得分:1)

http请求失败时调用Ajax error函数。无法在ajax error上触发success函数。请参阅API文档here

如果你想做一个特定的任务,你打算在ajax error上做,你可以把它包装在一个函数中并在ajax success中调用它。