PHP表单返回和刷新

时间:2010-03-03 04:03:43

标签: php ajax forms

查看我正在处理的网站的先前实现,我可以看到我们有一个调用ManageObject.php脚本的选项表单。该脚本对许多对象执行某些操作,然后通过以下代码返回到页面:

echo "<script type=\"text/javascript\"> window.history.back();</script>";

我的javascript技能非常适合初学者,但我能说的是它只是按下浏览器上的后退按钮。这当然不会刷新页面,因此该页面上的所有数据现在都是旧的。

有没有办法在调用window.history.back()时强制刷新?或者有没有更好的方法来调用.php脚本而不离开页面并在.php脚本完成后刷新页面?

1 个答案:

答案 0 :(得分:1)

有一个名为POST-redirect-GET的系统可以解决这个问题。它的工作原理如下:

  • 将表单与POST数据一起提交到php页面
  • php脚本处理POST数据,然后将浏览器重定向到另一个页面
  • 由于浏览器是使用GET重定向的,因此刷新页面不会重新发送POST数据。此外,页面上的数据也会更新。

在PHP中,您可以通过调用header("Location: /path/to/page.php");后跟exit();来重定向。与您在问题中发布的JavaScript方式相比,它的优势在于它不需要用户启用JavaScript,也不会将用户带到中间页面。