检测用户是否正在离开页面,并使用ajax进行删除
Detect if the user is leaving the page and delete with ajax
如果用户没有完成我网页中的所有步骤,我希望删除保存的数据。
这就是我所做的:
window.onbeforeunload = confirmExit;
function confirmExit()
{
if (!$('body').find('.wizard_completed').attr('class')) {
if (confirm($('body').find('.exit_confirm').html())) {
$.ajax({
type: 'POST',
data: {action: delete_event}
});
}
}
}
问题是,如果用户单击"取消",页面无论如何都会被刷新,即使它不应该被刷新。如果单击"取消",如何避免刷新页面?
您必须使用onunload
事件进行AJAX调用,并在onbeforeunload
中显示消息:
window.onbeforeunload = confirmExit;
window.onunload = onunload;
function confirmExit()
{
if (!$('body').find('.wizard_completed').attr('class')) {
return $('body').find('.exit_confirm').html();
}
}
function onunload(){
$.ajax({
type: 'POST',
data: {action: delete_event}
});
}
相关文章:
- 使用Rails 3中的AJAX删除记录
- 使用jquery和ajax删除记录
- Rails-使用Ajax删除li元素
- ajax删除后刷新模板
- 使用Ajax删除注释
- Ajax删除所有子元素并读取更新后的值
- 如何使用 AJAX 删除 PHP $_SESSION
- 如何使用 ajax 删除记录
- AJAX:向表添加新行或使用 AJAX 删除
- 使用 AJAX 删除 SQL 表数据
- AJAX 删除表中选择了 PHP ID 的行
- 如何使用AJAX删除项目
- 为表中的每一行创建mysql删除链接,使用ajax删除并更新表列表
- 使用ajax删除数据
- 在php中使用ajax删除记录而不刷新页面
- 如何使用AJAX删除刚刚添加的MySQL记录
- Symfony2+Ajax:删除表单错误
- 使用Ajax删除嵌套的注释
- CakePHP 3-使用ajax删除相关数据
- 按下Submit Form时,通过Jquery Ajax删除Post