Javascript 如何使用ajax一次刮取一个页面,返回下一个页面链接并再次执行

Javascript 如何使用ajax一次刮取一个页面,返回下一个页面链接并再次执行,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,问题: 我有一个php抓取功能和代码,所有的工作都很好,但它超时,因为它试图加载60个不同的页面 我在考虑使用AJAX在循环中一次加载一个页面。因为我对AJAX很陌生,所以我遇到了一些麻烦 这就是我到目前为止所拥有的,如果我提供链接,我可以让它在链接中循环,但是我希望它刮取第1页,返回下一页链接,然后在连续循环中刮取下一页,直到没有更多的页面。现在它进入无限循环模式 有什么想法吗,伙计们 这是我从youtube视频中提取的代码,该视频使用数组(我只传递字符串) $(函数(){ 函数更新(){

问题:

我有一个php抓取功能和代码,所有的工作都很好,但它超时,因为它试图加载60个不同的页面

我在考虑使用AJAX在循环中一次加载一个页面。因为我对AJAX很陌生,所以我遇到了一些麻烦

这就是我到目前为止所拥有的,如果我提供链接,我可以让它在链接中循环,但是我希望它刮取第1页,返回下一页链接,然后在连续循环中刮取下一页,直到没有更多的页面。现在它进入无限循环模式

有什么想法吗,伙计们

这是我从youtube视频中提取的代码,该视频使用数组(我只传递字符串)


$(函数(){
函数更新(){
ids=;
如果(ID){
var id=id;
$.post(“index.php”,{id:id}).done(函数(msg){
日志(id,msg);
更新();
});
}否则{
控制台日志(“完成”);
$(“#log”).html(“已完成!”;
}
}
$(“#go”)。单击(函数(){
$(“#go”).html(“加载…”);
更新();
});
});
前进按钮
后果

最后以另一种方式解决了这个问题:我调用function.php的函数运行脚本并返回下一个要刮取的URL。这是msg值,因此在验证后将再次调用刷新。刚刚处理了60页,每页38秒:S

<script>
$(document).ready(function() {

    refresh('http://www.intrepidtravel.com/search/trip?');

    function refresh(url) {
        $.ajax({
            type: "GET",
            url: "function.php",
            data: 'url=' + url,
            success: function(msg){
                $('#result').append('--->Completed! <br>Next Page: is ' + msg);
                console.log(msg);
                if ($.trim(msg) == 'lastpage'){
                    $('#result').append('--->Last page - DONE!');
                }
                else {
                    refresh(msg);
                }
            }

        }); // Ajax Call
    } //refresh

}); //document.ready
</script>
<script>
$(document).ready(function() {

    refresh('http://www.intrepidtravel.com/search/trip?');

    function refresh(url) {
        $.ajax({
            type: "GET",
            url: "function.php",
            data: 'url=' + url,
            success: function(msg){
                $('#result').append('--->Completed! <br>Next Page: is ' + msg);
                console.log(msg);
                if ($.trim(msg) == 'lastpage'){
                    $('#result').append('--->Last page - DONE!');
                }
                else {
                    refresh(msg);
                }
            }

        }); // Ajax Call
    } //refresh

}); //document.ready
</script>
if ($_GET['url']){
    $url = $_GET['url'];
    if ($url=="lastpage"){
        echo $url;
    } else {
    $nextlink = scrapeSite($url);
    echo($nextlink);
    }
}