我试图创建一个循环,每次通过 $.post
检索另一个页面的内容,并在完成后执行下一页,直到该页面上的元素显示 0 个结果。
function scrapeIt() {
$(".currentPage").html("Current Page: " + page);
$.post("scrapePosts.aspx", { page: page, search: keyword }, function (data) {
$(".status").html(data);
if ($("#count").html() == "10") {
scrapeIt();
} else {
alert("Stopping...");
}
});
page++;
}
$(document).ready(function () {
var page = 1;
var keyword;
var stillGettingResults = true;
$("#go").click(function () { //Start Button
keyword = $("#keyword").val(); // Textbox
$(".status").html("Loading...");
scrapeIt();
});
});
这个想法是让 scrapeIt()
函数再次调用自身,但前提是它完成了 post 请求。但它似乎只是卡住了。
最佳答案
var page = 1
和 var keywords
都应该在全局范围内声明,否则它们在 function scrapeIt( )
。
您的页面可能会显示为卡住,因为没有页面
或关键字
作为post请求的一部分发送,并且服务器可能无法理解该请求。
关于javascript - jQuery Post 循环,导致浏览器崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5388193/