我有一个网站,为填写我网站表单的用户执行财务搜索服务。通过与提供商进行直接xml集成进行搜索,此类搜索可能需要一分钟才能完成。如果用户决定在搜索完成之前离开网站,我想通知服务器。
我使用了onunload js事件,但是,当服务器完成财务搜索并将用户重定向到“Service Found”页面时,它也会触发。因此,尽管用户从服务器端重定向到“找到服务”页面,但我仍然为每个用户提供用户左站点通知。
当服务器响应并重定向到“找到服务”页面时,检测用户是否离开网页而不触发事件的最佳方法是什么?
我阅读了Scott Mitchell的文章“在离开页面时提示用户保存”(http://www.4guysfromrolla.com/webtech/100604-1.shtml),但是,只有当用户离开网站时我才能触发该事件。
感谢您的帮助!
答案 0 :(得分: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';
});