HTML-форма не отправляется правильно - PullRequest
0 голосов
/ 09 апреля 2019

Я использую Laravel для своей задней части.
Это не работает

 <form action="/promo/update" style="background-color: #fafafa" method="GET">

Это работает

<form action="/promo" style="background-color: #fafafa" method="GET">

Есть ли что-то об использовании GET и дополнительных "/ "

Ответы [ 3 ]

2 голосов
/ 09 апреля 2019

.. Есть ли что-то об использовании GET и лишних "/"?

Краткий ответ?Нет.

Как уже отмечали другие, просто убедитесь, что ваш файл маршрутов ожидает правильные параметры.Я бы также предложил прочитать здесь , чтобы узнать о PUT vs POST, и здесь , чтобы узнать о подмене метода формы.

В общем, конечная точка UPDATE должна бытьPOST или PUT.Это не ваш вопрос, поэтому я просто продолжу отвечать на ваши вопросы.

Routes / web.php

Route::get('/promo/update', 'PromoController@update')->name('promo.update');

Blade

<form method="GET" action="/promo/update">
    @csrf <!-- remember to pass your token --> 

    <input type="text" name="foo" id="foo" class="form-control" />
    <button type="submit" class="btn btn-primary">Submit Form</button>
</form>

PromoController

public functon update( Request $request )
{
    // Process your data
}
0 голосов
/ 09 апреля 2019

Сначала убедитесь, что вы указали маршрут в файле маршрутов.

Второй ...

Laravel автоматически генерирует CSRF-токен для каждого активного сеанса пользователя, управляемого приложением. Этот токен используется для проверки того, что аутентифицированный пользователь действительно выполняет запросы к приложению.

Каждый раз, когда вы определяете HTML-форму в своем приложении, вы должны включить в форму скрытое поле токена CSRF, чтобы связующее ПО защиты CSRF могло проверить запрос. Вы можете использовать директиву @csrf Blade для генерации поля токена:

0 голосов
/ 09 апреля 2019

Поскольку метод вашего маршрута (/promo/update) является post, и вы используете get ... Вы можете увидеть доступные методы маршрутов, просто запустив код ниже в терминале:

php artisan route:list
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...