代码之家  ›  专栏  ›  技术社区  ›  user2896120

即使响应是错误,也总是触发成功

  •  0
  • user2896120  · 技术社区  · 6 年前

    我有一个Ajax函数,它接受4个参数。url、数据、成功回调函数和错误回调函数。我试图使这个Ajax函数尽可能地可重用。下面是它的外观:

    function send_data(url, data, successCallback, errorCallback) {
        $.ajax({
            url: url,
            type: 'post',
            data: data,
            success: successCallback,
            error: errorCallback
        });
    }
    

    function createMessage(message) {
       console.log(message);
    }
    

    错误回调如下所示:

    function createErrorMessage(message) {
       console.log(message);
    }
    

    但是,当我使用返回400错误错误请求的参数调用Ajax函数时,无论是200响应还是400响应,成功函数都会被激发。我不明白为什么只有错误函数才应该触发成功回调函数。 不过,两人都在开火。 这是为什么?

    1 回复  |  直到 6 年前
        1
  •  0
  •   ellipsis    6 年前

    问题就在这些方面

    success: successCallback,
            error: errorCallback
    

    它们都在一个接一个地运行,因此都在返回它们的值。

    success: function() {
        successCallback();
    },
    error: function() {
        errorCallback();
    }