2013-02-14 72 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是合适的选择。