我尝试在PHP中实现POST/REDIRECT/GET设计模式,并且在重定向到完全相同的页面时,它适用于Safari,但不适用于Google Chrome(适用于Mac)。如果我稍微改变网址(例如添加尾部斜线),它可以正常工作。PHP发布/重定向/使用Google Chrome失败
这里是一个全功能的例子:
<?php
if(TRUE === isset($_POST['submit'])) {
header('Location: http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'], true, 303);
exit();
}?>
<html><head></head><body>
<form action="" method="post"><input type="submit" name="submit" value="submit" /></form>
</body></html>
当我去的网页并点击提交按钮,然后刷新页面,我得到一个对话框,询问我确认重新提交的形成数据。我所有的搜索都表示,上面的代码是实现POST/REDIRECT/GET的正确方式,应该可以工作(并且它在Safari中),但它不适用于Mac上的Chrome。
非常感谢。这绝对看起来就是这样。我很高兴知道这是一个浏览器错误,而不是我的代码中的任何东西。 – user2155589 2013-03-11 06:32:58