首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么firefox和IE在单击按钮后不刷新页面?

问为什么firefox和IE在单击按钮后不刷新页面?
EN

Stack Overflow用户
提问于 2014-01-21 22:09:36
回答 2查看 550关注 0票数 0

为什么firefox和IE在单击按钮后不刷新页面?

单击按钮后,将显示“确定”。然后刷新页面。

我在chrome,opera,safari上测试过,没问题。但是在firefox和IE上不刷新该怎么办?

test_1.php

代码语言:javascript
复制
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>

<form id="myForm" action="test_2.php" method="post">
    <button id="sub">Send</button>
</form>
<span id="result"></span>

<script type="text/javascript">
$("#sub").click( function() {
 $.post( $("#myForm").attr("action"), 
         $("#myForm :input").serializeArray(), 
         function(info){ $("#result").html(info); 
   });
 clearInput();
});

$("#myForm").submit( function() {
  return false; 
});
</script>

test_2.php

代码语言:javascript
复制
<?php
  echo "OK.";
  echo "<META HTTP-EQUIV = 'Refresh' Content = '2'>";
?>
EN

回答 2

Stack Overflow用户

发布于 2014-01-21 22:18:52

如果使用AJAX,为什么要重新加载页面?它完全无视这种需求。元标记位于头部,在大多数浏览器中不是通过Ajax调用执行的

在test2.php中,您可以执行以下操作

代码语言:javascript
复制
// save your data here
$status = someFunctionReturningSomeString(parameters);
header("location: test_1.php?status=$status"); 

回到test1.php,测试该状态并将其显示给用户:

代码语言:javascript
复制
<? 
$status = $_GET["status"]; // perhaps some cleaning is needed too 
if (isset($status)) { 
   echo "<script>$(function() $("#result").html('".$status."')});</script>";
} ?>
<form id="myForm" action="test_2.php" method="post">
    <input type="submit" value="Send"/>
</form>

注意:请勿在标头之前回显任何内容,否则您将得到无法修改标头信息-标头已发送的信息

如果必须重新加载,最好执行以下操作,而不是返回meta标记

代码语言:javascript
复制
$("#myForm").on("submit", function(e) {
  e.preventDefault(); // cancel the form
  $.post( $("#myForm").attr("action"), 
     $("#myForm :input").serializeArray(), 
     function(info){ $("#result").html(info); 
     // allow the user to see the result perhaps?
     setTimeout(function() { location.reload(1)},3000); 
  });
  clearInput();
});
票数 0
EN

Stack Overflow用户

发布于 2014-01-21 22:20:02

对于使用jQuery的用户,您可以执行以下操作:

代码语言:javascript
复制
<script>
 $(document).ready(function() {
     location.reload();
 });
</script>
票数 -3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21260476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档