laravel重定向回到发布路由,我得到MethodNotAllowedHttpException

时间:2018-06-29 18:03:50

标签: laravel http redirect post

首先,在获取请求时,我显示了一个表单,提交后,它进入了发布URL,它在控制器中做了一些工作,然后返回了另一个具有表单的视图。提交此表格后,我验证了一些内容,如果验证失败,我想重定向并返回一些错误,但是不幸的是laravel不允许我  重定向回post方法。我有什么办法可以做到这一点?

我已经在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方法中的重定向代码。重定向回帖子网址 ```

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

```

1 个答案:

答案 0 :(得分:1)

我认为问题在于您正在向POST路由发送GET请求。您可以做一些我能想到的事情。

1) 在您的控制器中,您可以有一个静态方法storeOrderRedirect(),该方法可以处理您在重定向中需要执行的任何操作。

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

2) 只需发布信息并获取路线

3) 我本人会通过ajax从表单发送数据,直到我得到想要的响应之前才离开页面,而不是使用重定向并离开页面开始。