2011-10-16 52 views
0

我想要以15秒为间隔轮询来自WebServer(PHP)的数据50到100次(或者可以说是无限循环,直到stopFlag变量设置为true)。 对于此数据轮询,我将使用AJAX ASYNC消息将请求发送到WebServer。 我怎样才能做到这一点? 我试图自己解决这个难题,但不幸的是,我失败了,因为没有关键字在JavaScript中暂停脚本执行。 有什么办法可以使它工作吗?或任何解决方法?请让我知道或分享你的经验,如果你已经面临这个问题。发送AJAX ASYNC请求一个接一个,间隔为15秒

回答

0

你必须使用回调来超时;它会递归地调用下一个函数。

您还可以使用jQuery,它可以帮助您使代码更紧凑。结果可能是这个样子:

var finished = false; 
function keepTrying() { 
    if (finished) { 
    return; 
    } 
    $.ajax(params); 
    setTimeout(function() { 
    keepTrying(); 
    }, 15000); 
} 

而且在PARAMS你将有一个成功的功能是这样的:

function success() { 
    finished = true; 
} 

只需拨打keepTrying()的第一次;它会循环直到成功。这段代码有点难看,但希望你明白。

+0

谢谢亚历克斯......它正在工作......它就像一个魅力.... :) – Sougrakpam

+0

很高兴知道!请接受答案,我需要声望来投票:) – alexfernandez