Javascript jqueryajax同步但是;暂停“;直到完成为止
我正在尝试发送一些AJAX请求。它必须将数据收集到一个变量中,完成后,它必须输出该变量。如果我不同步执行,它只会在请求完成之前输出变量。在请求运行时,是否可以继续使用该页面?代码可能如下所示:Javascript jqueryajax同步但是;暂停“;直到完成为止,javascript,jquery,ajax,sync,synchronous,Javascript,Jquery,Ajax,Sync,Synchronous,我正在尝试发送一些AJAX请求。它必须将数据收集到一个变量中,完成后,它必须输出该变量。如果我不同步执行,它只会在请求完成之前输出变量。在请求运行时,是否可以继续使用该页面?代码可能如下所示: for (var i=0;i<10;i++) { $.ajax({ type: "GET", url: "http://google.com", async: false, data: "", success:f
for (var i=0;i<10;i++) {
$.ajax({
type: "GET",
url: "http://google.com",
async: false,
data: "",
success:function(data){
total += $(data);
alert(total);
}
}
(变量i=0;i)的
如果我不同步执行,它只会在请求完成之前输出变量
否,它将在每个请求完成后输出变量10次。为了避免这种情况,请使用计数器计算完成的请求数:
for (var i=0;i<10;i++) {
$.ajax({
type: "GET",
url: "http://google.com",
async: true,
data: "",
success:function(data){
total += $(data);
if (!--i)
alert(total);
}
}
}
for(var i=0;iasync:false,
please,NO!将async设置为true,然后使用回调或延迟对象,以便只“输出变量”在调用完成后。欢迎来到异步世界。是的,设置async:true
,并编写异步工作的代码。这样做和那样做。请给我一些例子。我来这里寻求帮助。将其设置为true会使我的选项卡崩溃,所以这不起作用。@Lemvigkiggen认真地说,这里解释一下:那么你被困在哪里了?如果你要为您编写其他代码,请雇佣某人…您的代码片段中仍然有async:true
tho@DavidHedlund你是什么意思?呸,我到底是什么意思。我脑子里想的是false
,因为我希望根本不指定属性。别理我。