2011-05-19 181 views
1

我是C#的Windows開發人員,我知道沒有那麼多關於web編程。我用Java開發了一個特殊的搜索引擎。我想爲它創建一個php界面。現在,我設法通過Web服務連接php和Java。我看了一些關於創建搜索引擎的教程,我對我應該做什麼有一些瞭解,但我不知道如何解決某些問題。這裏是我想實現的場景:如何啓用「更多」搜索結果?

帶有搜索框的索引頁面,用戶在該頁面中鍵入搜索查詢,一些結果顯示,如果用戶向下滾動,則顯示更多結果(如Facebook)。當用戶點擊結果項目的鏈接時,瀏覽器會打開另一個顯示結果的頁面(同樣在我的應用程序中)。

現在我所知道的是索引頁面應該是一個帶有Get方法的PHP文件的HTML文件。 我不知道的是如何啓用「更多」結果?爲此,我的php應該將包含前一結果URL的數組發送到我的Java服務,獲取結果,將它們添加到數組並等待。下次它應該使用這個數組。

請讓我知道我應該使用哪種代碼結構。

在此先感謝。

編輯: 請求的代碼示例中的Java服務器:

public String processQuery(String query, List<String> previousURLs); 

將其稱爲首次這樣的:

processQuery("test", null); 

想這又回到2個結果與網址:

http://www.bing.com 
http://stackoverflow.com 

這些將被存儲在一個數組中,第二次:

processQuery("test", previous); 

這將返回將在頁面末尾添加的新結果。

+1

例子將是有益的_very_這裏我們幫你的。 – pixelbobby 2011-05-19 16:25:42

回答

2

您需要使用AJAX(異步JavaScript和XML)請求。本質上,當用戶向下滾動頁面時,會觸發請求以獲得更多結果。你可能會做一些事情,比如緩存最後的結果id,以知道從哪裏獲得下一批結果。你需要刷新你的JavaScript和可能的jQuery,以便弄清楚如何實現所有這些 - 即觸發請求,處理響應並向DOM添加新元素。

這樣做的示例網站是Duck Duck Go。滾動時,其搜索結果頁面會動態追加新結果。確保你有Firefox + Firebug來檢查頁面,獲得的網絡請求並逐步瀏覽(調試)正在運行的JavaScript。

+0

感謝您的回答。你提供的網站正是我想要的。你所建議的是我聽到的,但就像我說的,我在網絡世界中就像一個嬰兒:D我不知道如何使用jQuery,以前的結果等,我需要這些東西的幫助。 – 2011-05-19 17:19:16

+0

不需要jQuery,儘管它確實使某些事情更容易(並且基本上保證了x瀏覽器的兼容性)。我建議你從一個簡單的JavaScript任務開始,比如:點擊按鈕,發出ajax請求,將結果附加到頁面上。也許這是一個開始的好地方:https://developer.mozilla.org/en/a_re-introduction_to_javascript但是你也必須學會使用Firebug。 – 2011-05-19 17:28:02