某些控制器呼叫后如何访问路由

时间:2017-04-03 05:47:18

标签: php laravel laravel-5

我有两条路线

Route::post('checkout','CartController@billingSave');
Route::get('success','CartController@billingSave');

因此,在完成billingSave方法后,它将重定向到成功页面。 但是如果把/成功也放在url中它也会显示成功页面..虽然他没有完成付款..但是在完成billingSave功能之后我还是只能访问success url?< / p>

意味着他无法访问成功网址而不是完成billingSave方法..或者不要让他访问success网址?

2 个答案:

答案 0 :(得分:3)

您可以使用laravel的中间件https://laravel.com/docs/5.4/middleware阻止成功路由您可以编写自己的中间件来检查billingSave是否已完成。

答案 1 :(得分:0)

更改以下路线:

Route::get('success','CartController@billingSave');

Route::post('success','CartController@billingSave');

因此用户无法在浏览器中使用success路径直接访问它,不要忘记在此处显示错误页面。它只能通过表单发布方法访问。保存数据后,将表单提交到success路由。