Переадресация Laravel обратно на маршрут, я получаю исключение MethodNotAllowedHttpException - PullRequest
0 голосов
/ 29 июня 2018

Сначала при получении запроса я показываю форму, при отправке она переходит к почтовому URL-адресу, выполняет некоторую работу в контроллере, а затем возвращает другое представление, имеющее форму. после отправки этой формы я проверяю некоторые вещи, и если проверка не удается, я хочу перенаправить обратно с некоторыми ошибками, но, к сожалению, laravel не позволяет мне перенаправить обратно на пост метод. Есть ли способ, которым я могу это сделать?

я видел этот ответ на laracast https://laracasts.com/discuss/channels/laravel/redirect-back-to-post-route-i-get-methodnotallowed-exception, но не смог понять рекомендацию

это мои маршруты в порядке, описанном выше.

  Route::get('/purchasePacks', 'masterDealerController@purchasePacks')->name('purchasePacks');
  Route::post('/confirmPuchasedPacks','masterDealerController@confirmPuchasedPacks');
  Route::post('/storeOrder','masterDealerController@storeOrder');

ниже - код перенаправления в методе storeOrder. который перенаправляет обратно на пост URL `` `

Alert::message("Unable to complete your payment at the moment.",'Please try again later.',"error");
        return back()->withInput();

`` `

1 Ответ

0 голосов
/ 29 июня 2018

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

1) В вашем контроллере вы можете использовать статический метод storeOrderRedirect (), который обрабатывает все, что вам нужно, при перенаправлении.

Route::match(array('GET', 'POST'), '/storeOrder', function()
{
   App\Http\Controllers\masterDealerController::storeOrderRedirect()
});

2) Просто есть сообщение и получить маршрут

3) Я сам отправляю данные из формы через ajax и не покидаю страницу, пока не получу искомый ответ вместо того, чтобы использовать перенаправления и покинуть страницу для начала.

...