0

我想知道回显以下内容是否可以替代使用 header("Location: index.html") 而不必使用 output_buffering

echo "<script type='text/javascript>window.location = 'index.html';</script>";

有时我想在正文中进行重定向,上述工作是否正常,或者是否值得打开 output_buffering 选项而只打开用户 header()?

4

4 回答 4

2

只需使用 header(),这是正确的方法。

但是您不需要使用输出缓冲。构建“body”字符串并将其放入变量中(不要回显内容)。如果必须,请使用标题。在脚本的最后一行中,您回显了 body 变量(如果您没有使用标头重定向)

于 2013-06-27T00:34:34.967 回答
1

header()定义用户正在查看的页面。使用输出缓冲强制忽略先前的输出缓冲区,因此它不是一种有效的重定向方式。所以,这是我的建议

  1. 如果您唯一的目标是重定向,那么请确保在header语句执行之前不输出任何内容。在这种情况下header是合适的。

  2. 如果您需要显示您的页面并且需要根据用户交互性重定向到不同的页面,请使用 JavaScript 重定向。

于 2013-06-27T00:39:38.050 回答
0

请记住,如果关闭了标头,则无法启动到屏幕的输出,否则标头将无法工作,JavaScript 版本将无法工作。我个人认为标头是更安全的选择,但我认为这可能取决于个人意见!

于 2013-06-27T00:34:21.537 回答
0

如果出于某种原因,您想避免输出缓冲,您的想法会奏效。

于 2013-06-27T00:42:34.093 回答