параметр имени маршрута laravel - PullRequest
0 голосов
/ 30 мая 2019

Используйте pageNation для запроса значения страницы в контроллере. Но почему никакие параметры не могут достичь контроллера?

 Route::get('/index', 'Penpal\ViewController@index')->name('penpal.index');

 <form action="{!! route('penpal.index', ['menu' => 'p11-c3']) !!}" method="get">
            <select id="inputState" class="form-control" style="height:35px; width:80%" name="pagination" onchange="this.form.submit()">
                    <option value="3">@lang('penpal/component/indexMenu.twelve')</option>
                    <option value="4">@lang('penpal/component/indexMenu.twenty_four')</option>
                    <option value="5">@lang('penpal/component/indexMenu.thirty_six')</option>
                </select>
        </form>    


 public function index (Request $request){
    return $request;\
 }

Параметр с именем «menu» не может быть получен от контроллера.

Ответы [ 3 ]

3 голосов
/ 30 мая 2019

Ваш <form> использует method='get' вместо method='POST' (который используется для отправки данных в запрос через форму.

Вам также нужно будет использовать @csrf в своем шаблоне блейда, иначе вы не сможете публиковать данные:

<form action="{!! route('penpal.index', ['menu' => 'p11-c3']) !!}" method="POST">
   @csrf
   <select id="inputState" class="form-control" style="height:35px; width:80%" name="pagination" onchange="this.form.submit()">
      <option value="3">@lang('penpal/component/indexMenu.twelve')</option>
      <option value="4">@lang('penpal/component/indexMenu.twenty_four')</option>
      <option value="5">@lang('penpal/component/indexMenu.thirty_six')</option>
   </select>
</form>

Наконец, убедитесь, что ваш маршрут ::post().

0 голосов
/ 30 мая 2019

Вы не установили никаких параметров маршрута для своего маршрута и не передали их в свой метод контроллера.И было бы лучше использовать POST, чем GET.

Измените это на

Route::get('/index', 'Penpal\ViewController@index')->name('penpal.index');

this

Route::post('/index/{menu?}', 'Penpal\ViewController@index')->name('penpal.index');

и вашу форму

<form action="{{ route('penpal.index', ['menu' => 'p11-c3']) }}" method="POST">
@csrf

И в вашем методе контроллера вы можете получить переданный параметр

 public function index (Request $request, $menu){
    print_r($menu);
 }
0 голосов
/ 30 мая 2019
Use Post method both route and form

<form action="{!! route('penpal.index', ['menu' => 'p11-c3']) !!}" method="post">
Route::match(['get','post'],'/index', 'Penpal\ViewController@index')->name('penpal.index');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...