连续刷新页面的问题

时间:2018-04-15 08:17:54

标签: javascript php page-refresh

当我尝试运行此脚本时:

<form class="form-inline" action="<?php $_SERVER['PHP_SELF']; ?>" method="POST">
    <button type="submit" name="buttonSubmit" class="btn btn-default">Submit</button>
</form>
<?php
  if (isset($_POST['buttonSubmit'])) {
    unset($_POST['buttonSubmit']);
    echo "<script>alert(".isset($_POST['buttonSubmit']).")</script>";
    echo "<script>location.reload(true);</script>";
  }
?>

结果,页面在无限循环中刷新。

是什么原因?

如何只刷新一次网站?

2 个答案:

答案 0 :(得分:1)

当您使用location.reload(true);时,您可以通过编程方式执行相同的操作,例如点击浏览器&#34;刷新/重新加载&#34;按钮。

这会产生另一个&#34;提交&#34;,一遍又一遍,因此总是使语句isset($_POST['buttonSubmit'])成为真。

以下是一些解决方案:

注意,如果已加载'page-to-load'相同,则可以使用location.href,例如

location.replace(location.href);

另一种方法是,而不是依赖客户端脚本,在表单提交,服务器端执行response redirect

答案 1 :(得分:1)

这对我有所帮助:

location.reload(true);更改为window.location.href = '';