使用success、error和complete与.done()、.fail()和.always()进行jQuery ajax()的区别
使用success、error和complete与.done()、.fail()和.always()进行jQuery ajax()的区别
问题:
- 我们应该按照下面建议的方式更改我们的编码吗?
.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"); });