Laravel:显示 404 页面时访问原始视图数据

问题描述 投票:0回答:2

我有一个控制器渲染my_view.blade.php。视图可以访问特定变量:

return view()->make('my_view', array('var1' => 'foo', 'var2' => 'bar'));

现在,假设使用 my_view.blade.php 的页面抛出 404 错误。在这种情况下,Laravel 将“交换” my_view 为自定义 404.blade.php

发生这种情况时,显然,404视图不知道最初传递的数据。

有什么方法可以保留传递给my_view的原始数据,以便可以在404.blade.php中访问它们?请注意,此数据可能是动态的,每个视图都不同。

当然,该解决方案可以处理任何抛出 404 的页面。

php laravel laravel-5
2个回答
0
投票

您可以使用

view()->share($key, $val)
这将在该请求中的所有视图中共享它。

您可以在 Laravel 文档

上查看有关通过视图共享数据的文档

0
投票

您可以在登录时发生此类错误时要显示的 404 页面中放置一个类似

<button onclick="window.history.back(); return false;">Go back</button>
的按钮,这将带您返回到 404 错误发生之前的上一个正确页面,并且所有变量仍然会出现出席。

© www.soinside.com 2019 - 2024. All rights reserved.