Laravel。使用浏览器后退按钮

时间:2015-06-03 13:51:46

标签: php laravel redirect laravel-5

当用户点击浏览器中的后退按钮时,我注意到了一些奇怪的事情。通常当我命名我的路线时,我会这样做:左Route::get('/comment', 'CommentController@getComment');获取方法。
并且:Route::post('/comment-post', 'CommentController@postComment'); 对于发布方法。

发布4条评论后,如果用户点击后退按钮,浏览器会用旧输入的一个帖子方法将其重定向回来,本例中它会发生四次。浏览器不应该将用户重定向回上一个视图吗?你能解释一下我做错了什么吗?提前谢谢。
我正在使用Laravel 5

1 个答案:

答案 0 :(得分:0)

当您路由到将处理评论发布的页面时,它实际上是将用户带到一个新页面(' / comment-post'),这意味着它被放到了在浏览器中堆叠。因此,当他们点击后退按钮时,它会将它们带到堆栈的顶部,即最后一个帖子。

我建议使用Route::controller然后处理CommentController类中的各种方法。

Route::controller('/comment', CommentController);

然后在CommentController里面:

public function getCommentPost()
{
  # handle posting here
}

这将做的是听取网址' / comment / comment-post'当达到该URL时,它将调用此方法并关联camelCasing。虽然这可能有助于后退按钮问题,但它只是处理大量路径的一种更简洁的方式。