ajax中的间隔

时间:2011-11-04 19:08:43

标签: php javascript ajax

我正在使用soap来获取一些数据,使用目标网站制作的功能, 但问题是,我可以通过该功能为每个请求获取50个数据。

我打算使用ajax,例如我有170个id并想获得有关它们的信息。在每个请求中,我可以获取其中的50个。想知道是否有办法用ajax休息或暂停,然后请求第二个50或不?

或我可以使用的任何东西。

提前感谢;)

2 个答案:

答案 0 :(得分:1)

嗯...你能做的是在Ajax函数中获取50个元素,并在Ajax返回回调中再次执行Ajax调用。

jQuery的一个例子如下所示:

var fetch = 170;
var responses = [];

function getStuff(offset) {
    offset = offset || 0;
    if (offset >= 170) return false;
    $.get({
        url: 'mybackend.php',
        params: {offset: offset, limit: 50},
        success: function(ret) {
            if (offset < fetch)
                getStuff(offset + 50)
            responses.put(ret);
        }
    });
}

// Start:
getStuff();

这将一个接一个地启动Ajax调用,直到获取170个元素。最后,您获得了响应数组中的所有响应。

答案 1 :(得分:0)

在Javascript中有一个名为setTimeout()的奇妙函数,它会在一定时间后执行一些代码。如果需要多次重复,可以使用setInterval()代替。

对于setTimeout():http://www.w3schools.com/jsref/met_win_settimeout.asp

对于setInterval():http://www.w3schools.com/jsref/met_win_setinterval.asp