Javascript 连续刷新页面时出现问题

Javascript 连续刷新页面时出现问题,javascript,php,page-refresh,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['butt

当我尝试运行此脚本时:

<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>";
  }
?>

当您使用
location.reload(true)时,您可以通过编程方式执行与单击浏览器“刷新/重新加载”按钮相同的操作

这将一遍又一遍地生成另一个“提交”,因此始终使语句
isset($\u POST['buttonSubmit'])
为真

以下是一些解决方案:

  • location.href='page to load'

  • Location.replace()
    会话
    历史记录
    ,意味着用户也不能使用后退按钮, 导航到它并导致重复“提交”,这通常会发生

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

location.replace(location.href);

另一种方法是,不依赖客户端脚本,而是在服务器端表单提交时执行
响应重定向


当您使用
location.reload(true)时,您可以通过编程方式执行与单击浏览器“刷新/重新加载”按钮相同的操作

这将一遍又一遍地生成另一个“提交”,因此始终使语句
isset($\u POST['buttonSubmit'])
为真

以下是一些解决方案:

  • location.href='page to load'

  • Location.replace()
    会话
    历史记录
    ,意味着用户也不能使用后退按钮, 导航到它并导致重复“提交”,这通常会发生

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

location.replace(location.href);

另一种方法是,不依赖客户端脚本,而是在服务器端表单提交时执行
响应重定向

    • 这对我有帮助:

      更改
      位置。重新加载(true)
      window.location.href=''

      这对我有帮助:


      更改
      位置。重新加载(true)
      window.location.href=''

      它是此更改的副本
      位置。重新加载(true)
      window.location.href=''是否每次都发出
      警报working@Ajax. 是的,它每次都会发出警报。它重复了此更改
      位置。重新加载(true)
      window.location.href=''是否每次都发出
      警报working@Ajax. 是的,它每次都会发出警报。