2013-12-14 30 views
2

讓我們想象一下,我們有簡單的數據,並希望對其進行分頁。這並不難,簡單_GET頁面編號var其他教義與偏移量將允許我們以簡單的方式做到這一點,但它應該如何在搜索頁面中看起來像?讓我解釋。Symfony2,doctrine2,session,分頁搜索頁面的最佳方式

例如,我們擁有/ search url的簡單路線。我們有何形式進行搜索。當使用輸入字符串時,我們在同一頁面上使用POST方法並將得到結果。很簡單,但如果我們在這裏添加分頁,它將成爲存儲「輸入字符串」的問題。

如果我們在會話中存儲搜索查詢,它將是解決方案但是...它不是。爲什麼?用戶輸入搜索字符串 - 在離開頁面(或關閉瀏覽器,或離開另一頁面)之後,獲得帶分頁結果(此處搜索字符串已在會話中)。當他將從會話中返回數據時,將顯示他'舊查詢的結果'...

所以問題是,這種情況的最佳實踐是什麼?我想要簡單的搜索查詢+分頁,但如果用戶離開頁面 - 清除結果。

+2

爲什麼你使用'POST'不'GET'的組合來搜索表單?也許我誤解了.... – Flukey

+1

不幸的是我有這樣的規範。所以我不能使用_GET var作爲搜索字符串。 :( – user1954544

+0

只有最初或整體?所以,即使是頁面鏈接不能包含搜索查詢? –

回答

1

使用POST而不是GET進行搜索查詢有點不尋常,並且不是很安全。由於搜索查詢操作是隻讀的,因此您應該使用GET來訪問/獲取數據。 POST用於更新或創建資源。

你將如何返回/轉到分頁(使用瀏覽器的按鈕)?你總是會得到一個警告框。而且您無法共享/書籤搜索查詢網址。

順便說一句,要回答你的問題,會議和隱藏的輸入字段將是要走的路。您也可以使用和GET和POST

When should I use GET or POST method? What's the difference between them?

相關問題