Laravel:如何使用Form POST中的参数在Route :: post中使用?

时间:2016-11-15 14:48:34

标签: php html laravel

这是我目前的POST路线。 Route::post('/eAPI', 'ApiController@eAPI');

我想让它像

Route::post('/q={$number}', 'ApiController@eAPI');

但是以我的形式。

<form action="{{url('/eAPI')}}" method="post" id="search">
  <div class="form-group">
    <label for="number" class="col-md-4 control-label">Telephone Number to search :</label>

    <div class="col-md-6">
      <input class="form-control" id="number" name="number" placeholder="Phone (eg. 5551234567)" required>


    </div>
  </div>

  <div class="col-md-2">
    <input type="submit" name="name" value="Find" class="btn btn-success">
  </div>
</form>

现在,我想在这部分中添加一个变量,就像这样。

<form action="{{url('/?q=$number')}}" method="post" id="search">

3 个答案:

答案 0 :(得分:2)

在发布请求中,您应该这样做:

Route::post('/eAPI/{q}', 'ApiController@eAPI')->name('my_route');

在HTML表单中:

<form action="{{ route('my_route', ['q' => '4']) }}" method="post" id="search">
</form>

在控制器内部,您可以将其检索为:

Class ApiController {

    public function eAPI($q) {
        // Use $q here ...
    }

}

希望这有帮助!

答案 1 :(得分:1)

我从未做过,也绝不会对post次请求执行此操作,但它适用于get次请求:

$q = request()->q;

并且您不需要将此添加到路线:q={$number},只需将参数添加到网址:?q=value1&s=value2&c=value3

答案 2 :(得分:1)

这对我有用[方法post和url有?q = someValue]:

 public function eApi(Request $request){
     $q = $request['q'];
 }

此代码将获取post和get方法中的所有参数

$request->all()

希望它有所帮助!