嗨,並感謝您抽出這個問題的時間。國防部重寫搜索表GET與戰後行動
我正在使用jQuery進行實時搜索的搜索表單。搜索欄位於我網站的每個頁面上,工作正常。現在我想擴展它。當人們敲回車鍵時,我希望他們被重定向到搜索頁面,在那裏他們得到所有結果。
唯一的問題是Get方法不工作。 我的形式看起來像這樣:
<form action="search/search" id="Searchform" method="GET">
<p><input type="text" name="SearchInput" id="SearchInput" value="" onkeyup="lookup(this.value);" /></p>
<div class="clear"></div>
<div id="suggestions"></div>
</form>
我的.htaccess文件包含了搜索頁面此重寫規則:
RewriteRule ^search/([^/]*)$ search.php?mode=$1 [L]
埃維一次我打回車鍵,我得到這樣的:
search/search?SearchInput=moonwalker
而使用GET方法,我似乎無法得到SearchInput的值。
使用POST方法時,一切正常。但我讀過不同的文章,我真的應該使用GET方法進行搜索。
所以我的問題是:爲什麼我應該使用搜索頁面的GET方法?如果我決定使用POST而不是GET方法有什麼大的優點嗎?
我知道我可以使用重定向等來完成這與GET方法,但我只是想知道爲什麼POST在搜索表單中被認爲是不好的做法。
在此先感謝您的幫助!
好吧,現在是GET方法正常工作。非常感謝解決方案。 – moonwalker 2011-03-02 17:02:49
不客氣。我建議你在我的回答中閱讀鏈接SO問題中的答案,以便更深入地瞭解爲什麼以及何時使用一種方法。 – Boldewyn 2011-03-02 17:04:11
太棒了。非常感謝Boldewyn,我將首先閱讀鏈接。 – moonwalker 2011-03-02 17:07:31