【问题标题】:what happens if browser is refreshed before ajax callback returns如果在 ajax 回调返回之前刷新浏览器会发生什么
【发布时间】:2014-02-19 04:28:30
【问题描述】:

我有一个需要很长时间才能返回的 ajax 调用。如果用户在调用回调之前单击浏览器刷新,我根本看不到回调被执行。这是预期的行为。

谢谢 P

【问题讨论】:

  • 浏览器刷新将完全重置进行 Ajax 调用的 Javascript 工作的环境。回调将在什么环境中执行,新刷新的页面?在这种情况下执行回调会产生意想不到的后果,实际上,因为它与导航到另一个页面会发生的情况非常相似,所以执行回调甚至会被归类为安全问题。
  • 感谢您的解释,为什么它不返回回调是有道理的

标签: browser callback refresh


【解决方案1】:

是的,因为浏览器不再等待回调。您不能使用模态窗口或使用 onbeforeunload 事件来防止

<script type="text/javascript">
    window.onbeforeunload = function() {
        return "please do no refresh the page";
    }
</script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-26
    • 2011-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多