问题:
- 我们应该根据下面的建议更改我们的编码吗?
.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版起,成功、错误和完成回调已经被弃用。为了准备您的代码迎接它们最终的移除,请改用jqXHR.done()、jqXHR.fail()和jqXHR.always()。
因此,我们应该开始像这样编写代码:
$.ajax( "example.php" )
.done(function (data) { someSuccessFunction(data); })
.fail(function (jqXHR, textStatus, errorThrown) { someErrorFunction(); })
.always(function() { alert("complete"); });
.done()
代替了.success()
,.fail()
代替了.error()
,.always()
代替了.complete()
。.success()
、.error()
和.complete()
这三个方法与.ajax()
方法的success
、error
和complete
这三个选项是不同的。 - ahnbizcad