我知道如何使用jquery ajax这样。换句话说,我理解.fail
在失败等情况下会被调用。
var jqxhr = $.ajax( "example.php" )
.done(function() {
alert( "success" );
})
.fail(function() {
alert( "error" );
})
.always(function() {
alert( "complete" );
});
我也理解
$.ajax("example.php")
返回一个代表DOM一部分的对象,并且有匿名函数作为参数传递给完成/失败/总是。到目前为止,一切都很好。我还获得了方法链接(或“级联”):对对象的函数调用如何返回该对象,因此您可以使用链中的下一个方法再次调用该对象。但是,我试图了解jquery如何“知道”从上面的链中调用哪种方法。这不像完成返回然后失败(调用链中的下一个方法)那样。那么,这种语法是怎么回事?它是如何工作的?
最佳答案
实际上,$.ajax()
不会返回表示DOM一部分的对象,而是一个promise
。
您可以阅读有关承诺here的更多信息。