我有一个Google Chrome扩展程序,用于从网站导出条目。我无法通过一个查询获取所有条目,并且我正在使用参数进行分页,即'...&p=' + pageNumber++
。我通过连接到我的Web服务器来做到这一点,这不是PHP的问题。但我发现我可以使用jsPDF直接生成pdf文件,我决定摆脱服务器端的帮助。
现在我想用jQuery Ajax获取条目。问题是我事先不知道要获取多少页面。
我目前的解决方案是:
function runRecursionTest(url, pageNumber){
var currentUrl = url + '?p=' + pageNumber;
$.getJSON("http://query.yahooapis.com/v1/public/yql?"+
"q=select%20*%20from%20html%20where%20url%3D%22"+
encodeURIComponent(currentUrl)+
"%22&format=json'&callback=?"
).done(function(data) {
if(data.results[0]){
data = filterData(data.results[0]);
$('#export-target-list').append($(data).find('#entry-list').html());
runRecursionTest(url, pageNumber++);
} else {
alert('Stop! Last page: '+(pageNumber-1));
}
});
}
这似乎合乎逻辑,是吧?但令人惊讶的是它失败了。即使我只有1页,也会发送太多请求。无法阻止它。
有什么想法吗?