【发布时间】:2013-12-12 09:43:31
【问题描述】:
我正在使用 jQuery,目前在 $(document).ready() 函数内调用 $.ajax()。但是我意识到要进行 AJAX 调用,我不使用 DOM 中的任何东西。此外,该 Ajax 调用可能需要一到两个(或更多)服务器端。因此,出于这两个原因,我想尽快让它运行,并且我正在考虑重构我的代码,使其看起来像这样(这将放在 HTML 顶部附近的 <script> 块中文件):
var someGlobal="whatever";
...
function onReply(response){
//Do something
}
...
$.ajax({
'url':"call_me.json",
'type':'POST',
'data':{x:someGlobal,y:"Dude!"}
})
.fail(function(jqXHR,status){
console.log("AJAX ERROR:" + status);
})
.done(onReply);
...
但是,onReply() 回调确实需要构建 DOM(.fail() 回调也是如此)。所以我不希望在$(document).ready() 运行之前调用onReply。 jQuery 有什么内置的东西可以让我保证会是这样吗?
附:使用 jQuery 1.10.x
【问题讨论】:
-
非常相似的问题(一旦你认为使用延迟):stackoverflow.com/questions/6177187/…(但没有一个答案考虑如果 ajax 调用失败会发生什么;他们也不会在页面之前启动 ajax 调用已满载,我想立即启动它。)
标签: jquery ajax jquery-deferred deferred