【发布时间】:2011-03-15 17:24:33
【问题描述】:
我在页面中每秒调用一次 ajax.. 这里服务器页面返回随机生成的数字,使用这个数字(转换为秒)我在触发另一个函数ajax成功 .它有效
我的问题
假设 random number = 5 表示 trigger() 函数在 5 秒后使用 setTimeout 调用,但请记住ajax 调用每 1 秒触发一次,因此触发函数也被调用了很多次。
我想让 ajax 调用等到触发函数执行。这意味着我想暂停该 ajax 调用直到恢复后 5 秒
我该怎么做?
我的编码
//this ajax is called every minute
$.ajax({
type: "POST",
url: 'serverpage',
data: ({pid:1}),
success: function(msg) {
var array = msg.split('/');
if(array[0]==1){
setTimeout(function() { trigger(msg); },array[1]+'000');
}
}
});
//and my trigger function
function trigger(value)
{
alert("i am triggered !");
}
服务器响应可能
1/2 或 1/5 或 1/ 10 或 1/1
这里是 1/3(这转换为秒)
【问题讨论】:
-
array[1]+'000'?你应该为此被用棍子打。parseInt(array[1], 10)*1000是正确的方法!
标签: javascript jquery ajax