我正在尝试整理一个脚本,该脚本将添加到load的概念,并以一种可以调用多个页面的方式向外扩展,以搜索div的实例。
例如,请考虑以下代码:
<div class="loadStuffHere">
</div>
$('.loadStuffHere').load('/wiki.htm .posts');
所以,上面的代码工作正常,但我不知道如何让它一次搜索多个页面。
在这种情况下我需要搜索的第二页是:/wiki.htm?b = 1&amp; pageindex = 2。脚本搜索第一页后,则需要搜索第二页。搜索完第二页后,脚本需要先自动递增数字2,然后将其更改为3,然后搜索该页面,然后继续执行此操作,直到找到不存在的页面为止,然后返回false并结束它的执行。所以搜索和加载过程包括:
/wiki.htm
/wiki.htm?b=1&pageindex=2
/wiki.htm?b=1&pageindex=3
/wiki.htm?b=1&pageindex=4
/wiki.htm?b=1&pageindex=5
/wiki.htm?b=1&pageindex=6
它将继续在那个庄园中,直到它击中一个尚不存在的页面,因为这是一个分页系统。
这是否可以做到,如果是这样,它会是什么样子? 非常感谢任何帮助!
P.S。如果您认为我可能尝试使用某些服务器端编码更容易实现的东西,那么您是对的。但遗憾的是,我无法访问它。
答案 0 :(得分:1)
您可以执行以下操作:
function loadWikiPosts(page_index) {
if (page_index != null) { url += '?b=1&pageIndex='+page_index; }
else { page_index = 1; /* for next time if this one fails */ }
url += ' .posts'; // to grab just the posts
// Send the AJAX request
$('.loadStuffHere').load(url, function(response, status, request) {
if (status == "error") { console.log(response); throw "Load returned an error"; }
if ($('.loadStuffHere').find('.posts').length == 0) {
page_index++;
loadWikiPosts(page_index);
}
});
}
try {
loadWikiPosts();
} catch (exception) {
// do something w/the exception message
}
答案 1 :(得分:1)
使用以下代码创建包含所有结果的数组:
var linkArray=["/wiki.htm",
"/wiki.htm?b=1&pageindex=2",
"/wiki.htm?b=1&pageindex=3",
"/wiki.htm?b=1&pageindex=4",
"/wiki.htm?b=1&pageindex=5",
"/wiki.htm?b=1&pageindex=6"];
for (var i in linkArray)
{
var content = "";
$('.loadStuffHere').append($(content).load(linkArray[i]+' .posts'));
}
上面的代码未经过测试。