Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.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
Php 返回重定向,主体位于Laravel中_Php_Laravel_Redirect_Laravel 5_Laravel 5.1 - Fatal编程技术网

Php 返回重定向,主体位于Laravel中

Php 返回重定向,主体位于Laravel中,php,laravel,redirect,laravel-5,laravel-5.1,Php,Laravel,Redirect,Laravel 5,Laravel 5.1,我正试图在拉雷维尔对尸体进行重定向。我试过这个: return Redirect::to($log_in_url)->with('body','<html><head><title>Redirecting to your page</title></head><body>If you are not redirected within 5 seconds, please <a href="'.$log_in_ur

我正试图在拉雷维尔对尸体进行重定向。我试过这个:

return Redirect::to($log_in_url)->with('body','<html><head><title>Redirecting to your page</title></head><body>If you are not redirected within 5 seconds, please <a href="'.$log_in_url.'">cl ick here</a>.</body></html>');
return Redirect::to($log_in_url)->带有('body','Redirecting to your pageIf your not redirective in 5秒内,please');
我在“网络”选项卡中查看,实际上什么也看不到


问题是,在实际重定向发生之前,如何通过显示HTML等待页面来进行延迟重定向

这不是拉威尔的任务。您可以使用meta或javascript返回页面

// Controller
return view('redirect'); 

// View redirect.blade (Regular html page with additional meta tag)
<meta http-equiv="refresh" content="5;url=http://www.google.com/" />
//控制器
返回视图(“重定向”);
//View redirect.blade(带有附加元标记的常规html页面)

这不是拉威尔的任务。您可以使用meta或javascript返回页面

// Controller
return view('redirect'); 

// View redirect.blade (Regular html page with additional meta tag)
<meta http-equiv="refresh" content="5;url=http://www.google.com/" />
//控制器
返回视图(“重定向”);
//View redirect.blade(带有附加元标记的常规html页面)

你做了一些错误的假设:

  • with
    方法将对象放入会话中,以便您可以在重定向后访问它。一个常见的用例是设置消息,然后重定向用户
  • 不要仅仅通过设置东西
    body
    来期待魔力
  • 正如你所说,没有所谓的“身体重定向”这样的标准化重定向。如果你需要这样的东西,你就必须实现它
我想你脑子里有一个类似vBulletin的重定向样式。要在Laravel上下文中实现它,您需要一个中介视图,以便在经过一定的延迟后为您执行客户端重定向。让我们把它命名为
redirect.blade.php

<!doctype html>
<html lang="en">
<head>
    <title>Redirecting...</title>
    <script>
        window.setTimeout(function () {
            window.location = "{{ $url }}";
        }, 5000);
    </script>
</head>
<body>
    If you are not redirected within 5 seconds, 
    please <a href="{{ $url }}">click here</a>.
</body>
</html>
如果禁用JavaScript,这种重定向方式将不起作用,这就是为什么他们在页面内容中添加链接并警告用户

有些采取混合方法:

<noscript>
    <meta http-equiv="refresh" content="5;url={{ $url }}" />
</noscript>

它们不使用refresh header/meta标记的原因首先是HTTP标准中没有指定它


我强烈建议你考虑其他选择。这是1990年的事,一点也不友好

作为一个访问者,如果我和一个让我等5秒钟的网站打交道,我就会离开。这就是为什么人们习惯于使用浏览器扩展来解决vBulletin的登录屏幕等待时间


拥抱简单,只需执行常规HTTP重定向。这对全人类都是最好的

你在做一些错误的假设:

  • with
    方法将对象放入会话中,以便您可以在重定向后访问它。一个常见的用例是设置消息,然后重定向用户
  • 不要仅仅通过设置东西
    body
    来期待魔力
  • 正如你所说,没有所谓的“身体重定向”这样的标准化重定向。如果你需要这样的东西,你就必须实现它
我想你脑子里有一个类似vBulletin的重定向样式。要在Laravel上下文中实现它,您需要一个中介视图,以便在经过一定的延迟后为您执行客户端重定向。让我们把它命名为
redirect.blade.php

<!doctype html>
<html lang="en">
<head>
    <title>Redirecting...</title>
    <script>
        window.setTimeout(function () {
            window.location = "{{ $url }}";
        }, 5000);
    </script>
</head>
<body>
    If you are not redirected within 5 seconds, 
    please <a href="{{ $url }}">click here</a>.
</body>
</html>
如果禁用JavaScript,这种重定向方式将不起作用,这就是为什么他们在页面内容中添加链接并警告用户

有些采取混合方法:

<noscript>
    <meta http-equiv="refresh" content="5;url={{ $url }}" />
</noscript>

它们不使用refresh header/meta标记的原因首先是HTTP标准中没有指定它


我强烈建议你考虑其他选择。这是1990年的事,一点也不友好

作为一个访问者,如果我和一个让我等5秒钟的网站打交道,我就会离开。这就是为什么人们习惯于使用浏览器扩展来解决vBulletin的登录屏幕等待时间


拥抱简单,只需执行常规HTTP重定向。这对全人类都是最好的

Laravel没有将
with
放在重定向的主体中,而是将其放在会话中,并在重定向后与视图共享(因此,当您被重定向时,它是可用的)。这有点误导,但我不知道任何现代浏览器会真正看到重定向文本。我的建议是回滚一点,考虑一下你正在尝试做什么,这将保证需要一个带有HTML正文的重定向响应。这感觉像是一个@apokryfos,这确实是XY问题的一个例子。我编辑了这个问题,试着让它更清楚一点。这里是一个很好的阅读工具。Lavel不会将
with
放在重定向的主体中,它实际上会将它放在会话中,并在重定向后与视图共享它(因此在重定向时它是可用的)。这有点误导,但我不知道任何现代浏览器会真正看到重定向文本。我的建议是回滚一点,考虑一下你正在尝试做什么,这将保证需要一个带有HTML正文的重定向响应。这感觉像是一个@apokryfos,这确实是XY问题的一个例子。我编辑了这个问题,试着让它更清楚一点。这是一本很好的书