【问题标题】:laravel redirect back to post route, i get MethodNotAllowedHttpExceptionlaravel 重定向回发布路线,我得到 MethodNotAllowedHttpException
【发布时间】:2018-12-08 23:19:44
【问题描述】:

首先在获取请求时,我显示一个表单,在提交它时,它转到一个帖子 url,在控制器中做一些工作,然后返回另一个具有表单的视图。提交此表单后,我验证了一些事情,如果验证失败,我想重定向回来一些错误,但不幸的是 laravel 不允许我 重定向回 post 方法。有什么办法可以做到吗?

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

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

```

【问题讨论】:

  • 发布重定向获取
  • which redirects back to the post url ? 重定向总是在 GET 请求上执行。您无法重定向到/storeOrder,因为它是 POST 请求。

标签: laravel http redirect post


【解决方案1】:

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

1) 在您的控制器中,您可以有一个静态方法 storeOrderRedirect(),它可以处理您在重定向时需要的任何内容。

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

2) 只要有一个帖子和一个获取路线

3) 我自己会通过 ajax 从表单中发送数据,并且在得到我正在寻找的响应之前不会离开页面,而不是使用重定向并离开页面开始。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-28
    • 2020-01-05
    • 2023-04-02
    • 1970-01-01
    • 2018-10-08
    • 2018-03-31
    • 2021-12-17
    相关资源
    最近更新 更多