我如何处理ajax和关闭页面

时间:2010-02-12 09:33:47

标签: javascript jquery html ajax

如果用户碰巧连接到我的网站有延迟,则ajax没有超时,用户决定关闭窗口。 ajax查询将被终止?有没有办法可以说仍然处理你关闭你想离开这个页面? (如果ajax成功将关闭,奖金)。我该怎么做?

我不确定这是否是同一件事(也许它内置于firefox中?)但当我关闭此页面时它说

  

您确定要离开此页吗?

     

您已开始撰写或编辑帖子。

     

按“确定”继续,或按“取消”停留在当前页面上。

我很肯定我看到了其他地方。当用户没有提交ajax并且正处于帖子中间时,如何使其显示?

2 个答案:

答案 0 :(得分:4)

您可以使用 window.onbeforeunload 事件来处理此问题。在ajax请求的开头将变量设置为false。并且在回调函数中将其值设置为true,并在window.onbeforeunload事件中检查该变量并显示合适的消息。

<强> 注意

当您刷新页面时也会触发。

答案 1 :(得分:1)

您可以在js:

中实现onbeforeunload处理程序
window.onbeforeunload = function() 
{
   if (showMessage)
   {
      return trye
   }
   else
   {
      return;
   }
}