操作“成功”数据会破坏递归ajax

时间:2019-01-02 12:03:14

标签: ajax

我正在编写一个自动脚本来执行爬网作业。我将ajax函数放在递归函数中以自动执行该过程。整个工作原理是ajax函数不断从列表数组中获取URL。但是,在我放置以下代码后,它停止工作:$("#myframe").html(temp.body);,其中temp是'成功'数据,而temp.body是json响应的一部分。然后,代码停止在列表的第二项。请帮助我进行递归ajax的数据操作。谢谢。

var idlist = ["10001","10002","10003"];
var index = 0;
function job(id) {
  $.get("https://cors-proxy.htmldriven.com/?url=http://www.olgame.tw/sds/robot_detail.php?id="+id, function( temp ) {
    $("body").append('<div id="myframe"></div>');
    $("#myframe").html(temp.body);  //This line causes problem. The entire code stops at here.
    $("div#myframe").remove();
    if (idlist[index+1] != undefined) {
      index++;
      job(idlist[index]);
    }  //index stops at '1'.
  });
}
job(idlist[index]);

完整代码为here

1 个答案:

答案 0 :(得分:1)

在开始任何“数据操作”之前,应首先删除响应中的任何脚本,以防止可能的ajax错误。

var cont = temp.body.replace(/<script.*?<\/script>/g,'');
$("#myframe").html(cont);