我正在编写一个自动脚本来执行爬网作业。我将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。
答案 0 :(得分:1)
在开始任何“数据操作”之前,应首先删除响应中的任何脚本,以防止可能的ajax错误。
var cont = temp.body.replace(/<script.*?<\/script>/g,'');
$("#myframe").html(cont);