dam*_*mon 5 javascript ajax recursion jquery
我用jQuery ajax()来获取信息.我在请求成功时调用该方法.这是代码:
function recursively_ajax(){
console.warn("begin");
$.ajax({
type:"GET",
url: "./JvmInfoClass",
success: function(data){
console.warn("get jvm info success");
recursively_ajax();
}
});
}
recursively_ajax();
Run Code Online (Sandbox Code Playgroud)
我让线程在后端睡3秒.但控制台不会在3秒后连续打印消息.为什么是这样?
Alw*_*nny 10
您可以使用ajax调用async:false来尝试此操作
var counter=0;
function recursively_ajax()
{
var pass_data=5;
var chartMenu=['VTR','NC','RC','TOCU','TOCO','TR','COA','MP'];
$.ajax({
type:"POST",
async:false, // set async false to wait for previous response
url: "url to server",
dataType:"json",
data:{dataMenu:pass_data},
success: function(data)
{
counter++;
if(counter < chartMenu.length){
recursively_ajax();
}
}
});
}
recursively_ajax();
Run Code Online (Sandbox Code Playgroud)
在这种情况下,错误在服务器端代码中,因为服务器应该仅在3秒后发回响应.
但我建议setTimeout()在客户端使用来限制请求频率
尝试
function recursively_ajax(){
console.warn("begin");
$.ajax({
type:"GET",
url: "./JvmInfoClass",
success: function(data){
console.warn("get jvm info success");
setTimeout(recursively_ajax, 3000)
}
});
}
recursively_ajax();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15070 次 |
| 最近记录: |