2012-02-28 99 views
0

我有一個Web應用程序,它有一個搜索工具。在主頁上,我有一個搜索框,用戶可以在其中輸入搜索條件並單擊「搜索」按鈕。點擊按鈕後,我們將AJAX請求發送到服務器(Struts Action),該服務器使用DAO層訪問數據庫並獲取搜索結果。將AJAX響應呈現爲div的最佳方式是什麼?

現在我想將此搜索結果發送回客戶端,並使用jQuery將結果呈現爲<div>標記。一頁可以包含10個結果。如果用戶點擊「下一頁」,我們想顯示另外10條記錄。

這樣做的最好方法是什麼?

+3

你有什麼迄今所做?您的問題中有很多要求,哪些部分已經實施,哪些部分存在問題? – 2012-02-28 09:24:18

+0

不是從現在開始的代碼。但我想知道我應該從服務器發送數據到客戶端?Json或其他什麼?以及如何在客戶端渲染它?我不想使用document.getElementById(「 resultDiv「)。innerHtml =」..「在客戶端。 – JRR 2012-02-28 11:04:34

回答

0

我認爲最好的方法可能是使用.load() jQuery方法來提供搜索結果並通過AJAX處理結果div的內容;那麼您可以使用.on方法來處理容器div中的元素,以便觸發例如「轉到下一頁」事件。通過這種方式,您只需要容器div,並且可以自由地使用您需要的所有服務器端語言在其他地方構建結果數據。

+0

謝謝bobighorus!你如何將我的結果發送到客戶端?我應該使用JSON發送它嗎? – JRR 2012-02-28 10:11:53

+0

我建議構建一個外部HTML頁面,然後使用.load()方法加載它。所以你可以用PHP,JSON等構建這個頁面......如果你發現這個答案有幫助,請檢查並接受它:) – bobighorus 2012-02-28 10:23:48

0

「下一頁」功能通常稱爲「分頁」。每種編程語言在整個Google中都有幾個例子。只需快速搜索分頁+您的編程語言即可。

休息例子假設使用PHP來處理後端請求

使用jQuery和Ajax,我們處理的成功參數的響應,榜樣:

$.ajax({ 
    url: 'whatever.php' 
    data: 'mystring='+mystring, 
    success: function(data){ 
    $("#myElement").html(data); 
    } 
}); 

數據是作爲包含whatever.php返回的所有信息的對象返回。但是,您將結果返回到whatever.php文件中的結果是如何將數據結構化並呈現給用戶,並將其放入元素中,並使用id =「myElement」。

0

據我所知,jquery提供了一個自動完成控件來開發web應用程序中的搜索工具。

您可以訪問

http://jqueryui.com/demos/autocomplete/

更多細節

感謝, 維傑satlawar

+0

雖然你是對的,但它確實不適合用戶是什麼問。 – allen213 2012-09-27 15:36:36

相關問題