页面重定向方法-Javascript还是PHP?

页面重定向方法-Javascript还是PHP?,php,javascript,redirect,Php,Javascript,Redirect,哪种从一个页面重定向到另一个页面的方式更可靠?我需要有一个链接,将用户带到空白页面,其中一些php代码首先在后台执行,然后重定向到目标页面。我想让这个无缝,所以用户不知道他被重定向。我使用javascript实现了这一点,效果很好,但禁用了javascript就无法实现。在这种情况下,php重定向可以工作吗?在执行其他php代码后,是否可以使用header()函数?感谢所有建议。使用标题('Location:'。$URL)从PHP重定向;死亡是您能做的最可靠的重定向(因为它在HTTP级别工作)

哪种从一个页面重定向到另一个页面的方式更可靠?我需要有一个链接,将用户带到空白页面,其中一些php代码首先在后台执行,然后重定向到目标页面。我想让这个无缝,所以用户不知道他被重定向。我使用javascript实现了这一点,效果很好,但禁用了javascript就无法实现。在这种情况下,php重定向可以工作吗?在执行其他php代码后,是否可以使用header()函数?感谢所有建议。

使用
标题('Location:'。$URL)从PHP重定向;死亡
是您能做的最可靠的重定向(因为它在HTTP级别工作)


唯一的问题是,如果已经生成了任何输出,就不能以这种方式重定向。这是可以通过简单地思考代码流并进行适当设计来避免的事情,但如果推到了紧要关头,您可以利用PHP的功能(基本示例)将其塞进现有的代码库中。

使用
头('Location:'.$URL)从PHP重定向;死亡
是您能做的最可靠的重定向(因为它在HTTP级别工作)


唯一的问题是,如果已经生成了任何输出,就不能以这种方式重定向。这是您可以通过简单地思考代码流并进行适当设计来避免的事情,但如果遇到紧急情况,您可以利用PHP的功能(基本示例)将其塞进现有的代码库中。

是的,可以在运行PHP代码后调用header,只需确保不输出任何文本即可。然后发送位置标题。

是的,在运行php代码后可以调用标题,只需确保不输出任何文本即可。然后发送位置头。

如果在头之前没有发送任何输出,PHP重定向将起作用。但是,是的,很容易注意到您被重定向了。

如果您在头之前没有发送任何输出,PHP重定向将起作用。是的,很容易注意到你被重定向了。

是的,你可以在重定向之前用PHP执行代码。一定要把权利用在工作上。(我假设默认的
302
将是合适的,但您永远不知道。)


此方法将提醒客户端机器重定向,但往往是无缝的,一般用户不会注意到。

是的,您可以在重定向之前使用PHP执行代码。一定要把权利用在工作上。(我假设默认的
302
将是合适的,但您永远不知道。)


此方法将提醒客户端机器重定向,但往往是无缝的,一般用户不会注意到。

为什么不使用AJAX调用处理数据的脚本,然后在AJAX完成后,您可以重定向到外部页面


如果您的第一个脚本所做的只是计算数据和重定向,而不返回任何实际内容,那么强制页面以正常HTTP请求同步加载和显示就没有多大意义了。我假设您可以使用JavaScript,因为这是您的问题。

为什么不使用AJAX调用处理数据的脚本,然后在AJAX完成后,您可以重定向到外部页面


如果您的第一个脚本所做的只是计算数据和重定向,而不返回任何实际内容,那么强制页面以正常HTTP请求同步加载和显示就没有多大意义了。我假设你可以使用JavaScript,因为这是你的问题。

你只能用这种把戏愚弄孩子。其他人会注意到,surePHP的重定向比Javascript更可靠,不过为什么不能在重定向的页面上进行处理呢?另外,@shrapanel是正确的,如果你必须先处理数据,用户肯定能够以任何方式看到页面更改。我不能在该页面上进行处理,因为它是一个外部页面,因此我无法在那里运行任何代码。给出实际问题的糟糕问题标题…你可以用这样的伎俩愚弄孩子。其他人会注意到,surePHP的重定向比Javascript更可靠,不过为什么不能在重定向的页面上进行处理呢?另外,@shrapanel是正确的,如果你必须先处理数据,用户肯定能够以任何方式看到页面更改。我不能在该页面上进行处理,因为它是一个外部页面,因此我无法在那里运行任何代码。可怕的问题标题给出了实际问题…我不会说这很容易,除非他们键入URL,或者研究他们点击的链接的锚。除非代码需要很长时间才能运行,否则您将立即看到新的URL。是的,您是对的,普通用户不会注意到它,我也不总是这样。但很容易追踪到它。所以,是和否取决于目标是什么:)如果他想完全隐藏这个事件,他不能。我不会说这很容易,除非他们键入URL,或者研究他们点击的链接的锚。除非代码需要很长时间才能运行,否则您将立即看到新的URL。是的,您是对的,普通用户不会注意到它,我也不总是这样。但很容易追踪到它。所以,是和否取决于目标是什么:)如果他想完全隐藏这个事件,他不能。事实上,您可以在PHP端返回HTTP响应代码204,以更加清楚地表明没有任何内容需要呈现。看见特别是,
如果客户端是用户代理,则不应更改导致发送请求的文档视图。此响应的主要目的是允许在不改变用户代理的活动文档视图的情况下输入操作,尽管任何新的或更新的元信息都应应用于当前用户代理的活动视图中的文档。
,因为AJAX