2012-02-03 103 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