2012-02-03 70 views
1

我有这个脚本,允许显示Bing搜索结果:JsFiddle DemojQuery的动态分页

的问题是,它只能一次显示多达50个的结果。所以我想做一个分页。到目前为止,我有这个代码,它允许显示结果的第二部分,用var WebOffset =“Web.Offset = 0”;

$("#page2").click(function() { 
    WebOffset = "Web.Offset=1"; 
    var searchTerms = getSearch(); 
    doSearch(searchTerms); 
}); 

我的问题:我怎么能预测有多少结果总共有让我现在有多少页码编号(申报单)进行。但更重要的是,这当然必须是“自动化”的。因此,代码将不得不根据bing结果显示一组div(分页编号)。我真的不知道要开始解决这个问题。任何帮助表示赞赏。

回答

1

由于您必须有一些服务器端逻辑才能获得结果,因此您可以在提交搜索查询并存储它时请求结果数量,或者您可以在每个页面请求中获取该数字。此外,因为它看起来你使用jQuery,这应该很容易。

下面是这两个方案可能是什么样子:

第一:

  1. 用户提交的搜索查询
  2. 服务器返回结果的第一页。
  3. 获取结果的总数,为分页控制
  4. 用户点击不同的页面(发送到服务器的请求与所述页号)
  5. 服务器返回的对应于当前所选页面的结果

而第二个:

  1. 用户提交搜索查询
  2. 服务器返回的第一页的结果,随着总的结果计数
  3. 用户点击不同的页面(请求发送到与所述页号服务器)
  4. 服务器返回对应于结果当前选择的页面

您可以看到,在第一种情况下,您必须将总结果数存储在客户端。而不是第二个,你收到每个结果请求。

首页这有助于。祝你有美好的一天!

+0

我想我在我的问题中犯了一个错误...总数结果已经给出...如果您键入'stack',您将会看到(显示结果右上方)'显示133000000条结果中的10条'我感谢您花费了时间和精力来解释,但我已经知道请求是如何提出的,我只需要知道如何对 – Youss 2012-02-03 11:49:43

+0

进行分页。如果您有总计结果数(T)和每页所需结果数(N),则将T除以N即可得到总页数(P)。这个数字将决定你需要添加多少个div(假设这个数字很小,比如<10)。但是,由于有许多页面,所以这不是一个选项。假设当前页面是K,可以将页面从(K - x)渲染到(K + x)。我希望这是有道理的。 – 2012-02-03 12:40:14

+0

谢谢我会尽力 – Youss 2012-02-03 15:06:03