POST路线(通过表格)比。获取路线(通过URL参数发布)

时间:2017-03-16 15:15:42

标签: php laravel http laravel-5 laravel-routing

我完全不理解这两个,有人结束这个吗?

我有两条路线:

1- Route::get('/admin/dashboard', 'DashboardController@dashboard');

2- Route::post('/admin/dashboard', 'DashboardController@dashboard_post');

如果我这样做

{hostname}/admin/dashboard?test=123

我的第一条路线应该触发。

如果我使用1个输入创建表单并将表单提交到/admin/dashboard

我的第二条路线应该触发。

这两个POST之间有什么不同?

他们的行为是否相同?

如何知道使用一个而不是另一个?

2 个答案:

答案 0 :(得分:1)

它基本上是它们用于什么的问题。如果你想要,例如创建新内容或上传文件时应使用POST请求。如果您想从服务器获取信息(例如数据库中的数据),您应该使用GET

总结一下:使用POST 发送数据,使用GET 接收来自服务器的数据。

对于您的表单:您必须指定应使用哪种请求方法:

<html>
  // Use GET
  <form action="form.php" method="GET">
    <input type="text" name="text">
    <button type="submit">Submit</button>
  </form>

  // Use POST
  <form action="form.php" method="POST">
    <input type="text" name="text">
    <button type="submit">Submit</button>
  </form>
</html>

答案 1 :(得分:1)

您必须在表单中指明是提交GET还是POST请求。

<form action="/action_page.php" method="get">将发送GET请求并触发第一条路线。

<form action="/action_page.php" method="post">将发送POST请求并触发第二个请求。

More about the difference between get and post.