2010-02-26 107 views
0

在過去我注意到,在許多網站中,當您鍵入具有不同參數的鏈接時,會發生其他情況(例如Google)。我想將其實施到我的網站,但我不知道如何。我想爲搜索功能做到這一點。假設我的網站是test.com。鏈接test.com/find+item將在網站上搜索「查找項目」術語。我爲該網站使用了JQuery和JSON。此外,搜索框是'input#suggestBox'元素和$('input#suggestBox').jsonSuggest(bookData.webSites, {onSelect:callback});調用的搜索。通過訪問鏈接調用函數

回答

1

你指的是很密切的關係的RESTfulness概念的技術。 nickf關於使用Apache的mod_rewrite的建議是可靠的,但如果你想真正沉迷於URL驅動的Web應用程序方法,我強烈建議研究REST。

4

許多網站,即使是這個網站,都使用稱爲URL重寫的技術。它基本上採用URL並將其重新排列爲腳本可以理解的格式。

例如,您可能會設置一條規則,以便將URL http://example.com/search/foo重寫爲http://example.com/search.php?query=foo

如果您使用的是Apache,有一個叫mod_rewrite模塊,爲您處理此。你可以在Apache documentation pageexcellent question and answer from Owen找到更多關於它的信息。

0

我不會建議使用AJAX方法用於獲取關於你的網站的搜索結果。

原因是,如果您有人想要在您的網站上針對特定查詢採用搜索結果,那麼他們無法真正採取該鏈接並將其發佈到某處,並且會降低入站的可能性鏈接到您的網站。

相反,你應該用一個簡單的形式,它有一個文本字段,但使用GET行動,那麼這將發佈形式的值的查詢字符串。

然後,在服務器端,處理請求,就像您對其他任何動態請求到該網址。

當然,你如何做到這一點你使用的後端技術完全依賴。關鍵是,這與jQuery沒什麼關係,因爲它正確地構建網站上的URL以提供功能和可發現性。

+0

雖然我普遍同意你的看法,但我不同意這些查詢的非書籤性。您仍然可以即時更改網址的哈希部分,這些哈希部分可以加書籤,通過電子郵件發送等。示例:Gmail。 – 2010-02-26 04:58:45

+0

@Marcel Korpel:我同意,這一切都取決於鏈接被海報使用的方式。如果發佈者僅使用鏈接進行ajax調用來檢索結果,那麼該鏈接和結果集不會暴露給用戶。這可以防止發現。如果海報正要使用jQuery來製作一個鏈接,然後將其用作重定向,那麼使用FORM元素和GET動作完全符合他的要求,並且他也具有可發現性。 – casperOne 2010-02-26 06:22:19