使用success、error和complete与.done()、.fail()和.always()进行jQuery ajax()的区别

13 浏览
0 Comments

使用success、error和complete与.done()、.fail()和.always()进行jQuery ajax()的区别

问题

  1. 我们应该按照下面建议的方式更改我们的编码吗?
  2. .done()success:.fail()error:.always()complete:之间有什么区别吗?

前言

我正在组合一个jQuery.ajax调用,我过去也成功地做过。像这样:

    $.ajax(
    {
        url: someUrl,
        type: 'POST',
        data: someData,
        datatype: 'json',
        success: function (data) { someSuccessFunction(data); },
        error: function (jqXHR, textStatus, errorThrown) { someErrorFunction(); }
    });

在快速查阅一些文档时,我看到了一个参考,指出自jQuery 1.8起,success、error和complete回调已被弃用。为了准备你的代码以便将来删除它们,改用jqXHR.done()、jqXHR.fail()和jqXHR.always()。

因此,我们应该以这种方式开始编码:

$.ajax( "example.php" )
    .done(function (data) { someSuccessFunction(data); })
    .fail(function (jqXHR, textStatus, errorThrown) { someErrorFunction(); })
    .always(function() { alert("complete"); });

0