【问题标题】:Differentiate between GET and POST method in Laravel Controller区分 Laravel Controller 中的 GET 和 POST 方法
【发布时间】:2016-09-24 09:31:55
【问题描述】:

我有 2 条路线,如下所示,

Route::get('/','MainController@Date');
Route::post('/','MainController@Date');

Route::any('/','MainController@Date');

当调用 get 请求时,我将计算日期,当调用 post 请求时,我将从表单输入中获取日期。

在我的控制器中调用 post 方法时

$date1 = $request->get ( 'date1' );
$date2 = $request->get ( 'date2' );

当 get 被调用时

$date1 = will calculate using date function
$date2 = will calculate using date function

get 和 post 这两种方法如何区分,如果 get 我应该一组东西,而对于 post 另一组东西

【问题讨论】:

    标签: php laravel routing controllers


    【解决方案1】:

    您可以使用以下代码简单地做到这一点

    public function someMethod(Request $request)
    {
            $method = $request->method();
    
            // to check if its a post method
            if ($request->isMethod('post')) {
                //
            }
    
            // to check if its a get method
            if ($request->isMethod('get')) {
                //
            }
    }
    

    method() 方法将返回请求的 HTTP 动词。你也可以使用 isMethod 方法来验证 HTTP 动词是否匹配给定的字符串:

    【讨论】:

    • 从@B.Kevin 得到了类似的回答,他回答得很快。所以我接受它作为答案
    • @Mann 没问题 :)
    【解决方案2】:
    $request->query();//return only GET param
    $request->request->all()// POST param
    $request->input();//all
    

    【讨论】:

      【解决方案3】:
          <?php
      
      namespace App\Http\Controllers;
      
      use Illuminate\Http\Request;
      use Illuminate\Routing\Controller;
      
      class SmeController extends Controller
      {
          /**
           * Do somthing
           * @param  Request  $request
           */
          public function update(Request $request)
          {
              if ($request->isMethod('post')) {
          //
              }
              if ($request->isMethod('get')) {
          //
              }
          }
      }
      

      你也可以使用$method = $request-&gt;method();

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-11-04
        • 2019-01-10
        • 2017-10-05
        • 2015-05-28
        • 1970-01-01
        • 1970-01-01
        • 2018-10-04
        相关资源
        最近更新 更多