3

我有一个网站,它为在我的网站中填写表格的用户提供财务搜索服务。通过与提供程序进行直接 xml 集成来完成搜索,并且此类搜索可能需要长达一分钟才能完成。如果用户决定在搜索完成之前离开网站,我想通知服务器。

我使用了 onunload js 事件,该事件有效,但是,当服务器完成财务搜索并将用户重定向到“找到服务”页面时,它也会触发。因此,尽管用户从服务器端重定向到“找到服务”页面,但我还是会收到每个用户的用户离开站点通知。

当服务器响应并重定向到“找到服务”页面时,检测用户是否离开网页而不触发事件的最佳方法是什么?

我阅读了 Scott Mitchell 的文章“离开页面时提示用户保存”(http://www.4guysfromrolla.com/webtech/100604-1.shtml),但是,我无法仅在用户离开时触发事件网站。

谢谢你的帮助!

4

1 回答 1

0

你可以用 AJAX 发布表单吗?您将能够停用您的卸载处理程序。以下是它与 jQuery 的工作方式:

$('#myform').submit(function() {
  $.post('/form-action', $(this).serialize(), function(responseText) {
    $(window).unbind('unload');

    // update the page with the response
    $('#response').html(responseText);

    // or redirect to the result page: window.location = 'new location';
});
于 2012-08-08T12:51:38.610 回答