Передавать данные формы через URL-адрес, задав в маршруте

Я установил маршрут в моем проекте Laravel, если бы он был с href, я бы сделал это, как этот {{route('destination'),$country_from,$country_to}}, но теперь я хочу передать данные формы как $country_from и $country_to, пожалуйста, как я могу это сделать

<form action = "{{route('destination')}}">
            @csrf
                        <input type = "text"
                            class = "search-form flexdatalist"
                            name = "origin"
                            placeholder = "country_from"
                            data-search-in='name'
                            data-min-length='1'
                            />


                        <img src = "{{URL::asset('img/location.svg')}}" class = "search-icon origin" width = "28px" height = "21px"/>
                    </div>
                    <div class = " col-md-3 mx-0 px-0">
                           <input type = "text"
                                class = "search-form flexdatalist"
                                name = "country_to"
                                data-search-in='name'
                                data-min-length='1'
                                placeholder = "Travelling to"

                            />
                            <img src = "{{URL::asset('img/location.svg')}}" class = "search-icon destination" width = "28px" height = "21px"/>
                    </div>
                    <div class = "col-md-3 mx-0 px-0">
                    <input type = "text"
                                class = "search-form flexdatalist"
                                name = "residence"
                                data-search-in='name'
                                data-min-length='1'
                                placeholder = "Residing In"

                            />
                            <img src = "{{URL::asset('img/location.svg')}}" class = "search-icon residence" width = "28px" height = "21px"/>
                    </div>
                    <div class = "col-md-3 px-0">
                        <input type = "submit" value = "Search Visas" class = "btn btn-primary search-btn"/>
                        </form>

Маршрут

Route::get('/{country_from}/{country_to}',  'DestinationCountriesController@index')->name('destination');

Вам понадобится javascript, чтобы принимать значения, вводимые пользователем, и связывать, если это тот маршрут, который вам нужен.

HorusKol 03.08.2018 01:24

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

HorusKol 03.08.2018 01:25
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
2
108
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я не совсем понимаю, что вы хотите сделать:

Вы хотите перенаправить пользователя на URL-адрес после отправки формы и использовать значения формы в URL-адресе перенаправления?

  • В вашем контроллере POST формы извлеките входные данные из $ request и верните return redirect()->route('route_name', ['country_from' => $request->country_from, 'country_to' => $request->country_to])

Вы хотите использовать значения URL-адресов в качестве входных значений, чтобы при загрузке страницы входные данные заполнялись значениями URL-адресов?

  • Ваш метод контроллера маршрута "назначения" принимает в качестве параметров $country_from и $country_to, поскольку вы объявили эти переменные в своем маршруте. У вас есть эти переменные в вашем контроллере, вы можете дезинфицировать их, привязать их к возвращаемому представлению (например: return view('view', $data) или return view('view', compact('country_from', 'country_to'))) и обращаться к нему, как обычно, в вашем блейде.
  • Вы также можете получить доступ к значениям URL-адресов с помощью \Request::route('country_from'). Вы должны очистить эти значения перед использованием их в качестве входных.
  • используйте эти переменные в своем blade-сервере в качестве входных атрибутов value или placeholder в любом месте {{$country_to}}.

Он перенаправлен с помощью и показывает этот URL-адрес http://localhost:8000/destination?_token=xKY7QEzceYP6zdYrtnN‌​riOgbBbs9izeBeE6GyDQ‌​l&origin=Nigeria&fle‌​xdatalist-origin=Nig‌​eria&country_to=Aust‌​ralia&residence=Unit‌​ed+Arab+Emirates, а не /Nigeria/United+Arab+Emirates

Adokiye Iruene 03.08.2018 01:45

Чего вы пытаетесь достичь? Первый или второй?

Mtxz 03.08.2018 01:45

во-вторых, я пытаюсь достичь второй

Adokiye Iruene 03.08.2018 01:47

Если это второе, я не понимаю, где происходит перенаправление. Во-вторых, об использовании значений URL в качестве входных значений в вашем клинке.

Mtxz 03.08.2018 01:49

Это код на основе вашего ответа public function reroute(Request $request) { $country_from = $request->country_from; $country_to = $request->country_to; redirect()->route('/{country_from}/{country_to}', ['country_from' => $country_from, 'country_to' => $country_to]); }

Adokiye Iruene 03.08.2018 01:51
/{country_from}/{country_to} неверен, здесь должно быть имя вашего маршрута. Как я указал return redirect()->route('route_name'.... Также необходимо вернуть redirect().
Mtxz 03.08.2018 02:02

с именем маршрута там, он выходит с тем же результатом

Adokiye Iruene 03.08.2018 02:11

Хм, я только что проверил, и в конце концов URL верен ... Не могли бы вы php artisan route:list проверить имя вашего маршрута? и снова поставить полный код?

Mtxz 03.08.2018 02:15

Другие вопросы по теме