即使在等待时间

时间:2016-10-20 14:58:22

标签: php ajax reload

POST EDIT:仅供参考,事实证明Firefox 48是个问题。使用Firefox 50,代码可以按预期执行。

我们的部门中有一些旧代码有一个小错误,但由于我对AJAX不是很熟练,我在解决它时遇到了问题。

预期的功能是用户单击网页上的元素,这会触发更改数据库中一个数字的请求。然后有一个等待时间,然后页面重新加载。这是在onclick事件中执行的相关代码:

request('../lib/ajax_lists.php','sideedit',data);
wait(500); //waiting until x ms passed
window.location.reload();

我检查了这些线条,它们似乎按预期工作,但不是在一起。 发生的事情是浏览器等待,然后重新加载,但数据库没有被改变。 然后我检查了请求函数是否有效,并发现数据库查询没问题。但是为了查看我打印到请求答案的查询,我不得不禁用重新加载。现在我可以看到查询,但令我惊讶的是数据库也发生了变化。

我做了一些测试,这就是结果:

  • 如果请求中包含数据库查询的请求未正确执行 页面重新加载功能已启用。
  • 如果我注释掉重新加载功能,请求按预期执行,但当然没有重新加载以查看更改。
  • 等待时间似乎并不重要。我把它提升到5000毫秒,但它仍然没有工作。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试以下代码

<script type="text/javascript">
    setTimeout(function(){
        window.location.reload();
    }, 500);
</script>