Laravel 如果路由筛选器未通过检查,则不执行任何操作

Laravel 如果路由筛选器未通过检查,则不执行任何操作,laravel,laravel-4,Laravel,Laravel 4,我有一个路由过滤器,如果过滤器没有通过检查,我基本上什么都不想做 我基本上是在做一个限制区,但如果失败了,我不想重定向,我宁愿用户呆在原地 Route::group(array("prefix"=>"protected", "before"=>"level:3"),function(){ ... } Route::filter('level', function($route, $request, $value) { if(Auth::user()->level &l

我有一个路由过滤器,如果过滤器没有通过检查,我基本上什么都不想做

我基本上是在做一个限制区,但如果失败了,我不想重定向,我宁愿用户呆在原地

Route::group(array("prefix"=>"protected", "before"=>"level:3"),function(){ ... }

Route::filter('level', function($route, $request, $value)
{
    if(Auth::user()->level < $value) // do nothing
}
Route::group(数组(“前缀”=>“protected”,“在”=>“level:3之前”),function(){…}
路由::过滤器('level',函数($Route,$request,$value)
{
if(Auth::user()->level<$value)//什么也不做
}

不幸的是,什么都不做会导致访问该页面。
执行Route::back()
似乎有效,只是没有页面刷新,而页面刷新是不必要的,可能会让用户感到困惑。有什么想法吗?

如果您正在执行公共表单POST(甚至获取)要发送数据,您已经做了一些重要的操作:您已经发送了一个请求,但无法收回。您的用户所在的页面已经消失,而他现在位于新页面中。您至少必须再次呈现视图:

return View::make('my.very.same.view');
它可能会闪烁/闪烁,看起来页面好像发生了什么事情

因此,如果您需要,在出现异常或错误的情况下,保持在同一个页面上,您必须使用Ajax发送数据,如果您的数据没有问题,请执行您需要执行的任何操作