Laravel:使用$ _GET或$ _POST进行搜索

时间:2013-02-14 05:10:54

标签: php forms query-string laravel

在所有laravel教程中,他们对表单使用POST方法。对于搜索,我认为最好让FORM使用GET,这样一旦表单被提交,查询字符串就会附加到URL,控制器可以直接处理它。

如果是POST方法,则将表单提交给中间控制器,中间控制器对其进行处理并重定向到某个结果控制器。如果未使用中间控制器,则搜索字符串将不再可用于URL。我想出于各种原因在URL中使用我的查询字符串。

如果我在laravel表单中使用GET方法可以吗?

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

或者使用POST方法有什么特别的好处吗?

以下是基于laravel构建的示例应用程序:

http://www.bootsnipp.com

搜索页面不附加任何查询字符串。我的搜索不是这样的。

2 个答案:

答案 0 :(得分:1)

根据搜索经验,总是使用GET。对于隐藏数据,请使用post,例如Login。

甚至谷歌我们使用get方法进行搜索。

答案 1 :(得分:1)

Laravel provides the options for controllers to be RESTful。通过启用RESTful,您的控制器可以响应RESTful命令,例如POSTGETDELETEPUT

使用Form::open()方法,您可以选择四个选项中的任何一个。如果您决定使用GET - 则会调用get_method()。如果您决定使用POST - 则会调用post_method

遵循常规RESTful命令,您可以使用POST创建记录。在检索记录时,GET是合适的选择。