Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 如何使用返回重定向,内部视图?_Laravel - Fatal编程技术网

Laravel 如何使用返回重定向,内部视图?

Laravel 如何使用返回重定向,内部视图?,laravel,Laravel,我有查看页面 @if((Voyager::can('delete_'.$dataType->name))||(Voyager::can('edit_'.$dataType->name))||(Voyager::can('browse_'.$dataType->name))) some function here @elseif 返回重定向::到('404page') @恩迪夫 错误 VerifyCsrfToken.php第156行中的ErrorException:尝试获取属

我有查看页面

@if((Voyager::can('delete_'.$dataType->name))||(Voyager::can('edit_'.$dataType->name))||(Voyager::can('browse_'.$dataType->name)))
 some function here
@elseif
返回重定向::到('404page') @恩迪夫

错误


VerifyCsrfToken.php第156行中的ErrorException:尝试获取属性 非对象


else条件代码不起作用。我如何从一个返回到另一个。如有任何帮助,将不胜感激。

@elseif
更改为
@else

@if((Voyager::can('delete_'.$dataType->name))||(Voyager::can('edit_'.$dataType->name))||(Voyager::can('browse_'.$dataType->name)))
    //
@else
    Redirect::to('404page')
@endif

和用户,而不是将::重定向到。或者,如果要将用户发送到404错误页面,请使用。

@elseif
更改为
@else

@if((Voyager::can('delete_'.$dataType->name))||(Voyager::can('edit_'.$dataType->name))||(Voyager::can('browse_'.$dataType->name)))
    //
@else
    Redirect::to('404page')
@endif

和用户,而不是将::重定向到。或者,如果要将用户发送到404错误页面,请使用。

您不能在视图中使用重定向响应。重定向响应是代码为3XX的响应。响应代码是标题的一部分,但只能发送一次标题。要发送视图数据,您需要已经发送了标题,因此您不能再返回重定向响应。但是,您可以使用JavaScript:

@if((Voyager::can('delete_'.$dataType->name))||(Voyager::can('edit_'.$dataType->name))||(Voyager::can('browse_'.$dataType->name)))
 some function here
@else
    <script> window.location.href = "{!! url()->to('404page') !!}"; </script>
@endif
@if((航行者::can('delete.'$dataType->name))|(航行者::can('edit.'.$dataType->name))|(航行者::can('browse.$dataType->name)))
这里有些功能
@否则
window.location.href=“{!!url()->到('404page')!!}”;
@恩迪夫
请注意,这将实际加载页面,用户可能会阻止重定向发生,因此不显示任何受限内容


理想情况下,您需要在控制器或中间件中的视图之前返回重定向响应

您不能在视图中使用重定向响应。重定向响应是代码为3XX的响应。响应代码是标题的一部分,但只能发送一次标题。要发送视图数据,您需要已经发送了标题,因此您不能再返回重定向响应。但是,您可以使用JavaScript:

@if((Voyager::can('delete_'.$dataType->name))||(Voyager::can('edit_'.$dataType->name))||(Voyager::can('browse_'.$dataType->name)))
 some function here
@else
    <script> window.location.href = "{!! url()->to('404page') !!}"; </script>
@endif
@if((航行者::can('delete.'$dataType->name))|(航行者::can('edit.'.$dataType->name))|(航行者::can('browse.$dataType->name)))
这里有些功能
@否则
window.location.href=“{!!url()->到('404page')!!}”;
@恩迪夫
请注意,这将实际加载页面,用户可能会阻止重定向发生,因此不显示任何受限内容


理想情况下,您需要在控制器或中间件中的视图之前返回重定向响应,VerifyCsrfToken.php第156行:尝试获取VerifyCsrfToken.php第156行中的non-objectErrorException属性:尝试获取non-object属性感谢您的回复,它正在工作,但现在它重定向到了那里重定向
url()->到(…)
可用于重定向到任何您想要的位置,因此您可以执行
url()->到('admin/404page')
。另外,如果它是一个命名的路由,你可以使用
url()->route('name')
基本上你可以做任何在感谢回复中提到的事情,它正在工作,但现在它重定向到那里任何重定向
url()->到(…)
的方法都可以被用来重定向到任何你想要的地方,这样你就可以做
url()->到('admin/404page')
。此外,如果它是一个命名路由,您可以使用
url()->route('name')
基本上您可以执行中提到的任何操作