2013-02-14 73 views
-1

在所有的laravel教程中,他們都使用POST方法來創建表單。對於搜索,我認爲最好讓FORM使用GET來代替,這樣一旦表單被提交,查詢字符串就會被追加到URL中,並且控制器可以直接在那裏工作。

如果使用POST方法,那麼表單將被提交給中間控制器,中間控制器會對其進行處理並重定向到某個結果控制器。如果不使用中間控制器,搜索字符串將不再可用於URL中。我想由於各種原因在URL中有我的查詢字符串。

如果我在laravel表單中使用GET方法,可以嗎?

{{ Form::open('search', 'GET') }} 

或者使用POST方法有什麼特別的好處嗎?

這是建立在laravel一個示例應用程序:

http://www.bootsnipp.com

搜索頁面不附加任何查詢字符串。我不是這樣的搜索。

+0

這個問題與laravel沒有任何關係。谷歌獲取和張貼表單之間的區別。有什麼時候使用哪些具體情況。它們不能彼此替換(大多數情況下)。 – itachi 2013-02-14 05:20:12

+0

我知道POST和GET之間的區別。在一個普通的/核心的PHP項目中,我會使用GET作爲上面的例子。但是在laravel/codeigniter中,所有的教程都向我們展示了使用POST,即使是上面的例子(搜索)。所以我問,是否有任何理由/利益他們這樣使用它。 – WebNovice 2013-02-14 05:25:07

+0

框架與php沒有區別。這只是一個開始。什麼是真正的PHP,對於框架是真實的。 – itachi 2013-02-14 05:38:47

回答

1

基於搜索的經驗總是使用GET。和隱藏的數據使用後,例如登錄。

即使是Google我們使用get方法進行搜索。

1

Laravel provides the options for controllers to be RESTful。通過打開REST風格,你的控制器能夠響應REST風格的命令,如POSTGETDELETEPUT

使用Form::open()方法,你可以任意選擇的四個選項。如果您決定使用GET - 那麼您的get_method()將被調用。如果你決定使用POST - 那麼你的post_method將被調用。

遵循一般的RESTful命令,您可以使用POST來創建記錄。當您檢索記錄時,GET是合適的選擇。