我在jQuery网站上看到了这段代码:
1: var jqxhr = $.ajax( "example.php" )
.done(function() { alert("success"); })
.fail(function() { alert("error"); })
.always(function() { alert("complete"); });
2: // perform other work here ...
// Set another completion function for the request above
3: jqxhr.always(function() { alert("second complete"); });
2个问题:
我听说success
,error
,complete
的回调函数参数被转移到done
,{{1 },fail
。
因此,如果我想在总回调中使用 jqXHR obj,我怎么知道他来自哪里(always
或error
) - 因为{{1方法签名中不同 !!!
//这里是3
success
我还听说延迟对象帮助我们动态构建回调函数。 (正如我们在'params order
'中看到的那样)
我不明白为什么我需要它?当我得到章节//here it is at place 1
时 - ajax呼叫已经已经并且已完成警报。在哪些情况下,3:
部分会付诸实施?
答案 0 :(得分:1)
complete()
并不意味着执行操作,而是执行通用操作,例如清理事物,重新启用禁用按钮等。
但是,您可以检查第一个参数=== jqxhr
($.ajax
的返回值) - 如果检查结果为true,则表示存在错误。