ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

javascript – jQuery ajax调用onunload处理程序在手动刷新后获取页面时触发.我如何保证首先发生onunload?

2019-07-17 00:35:50  阅读:206  来源: 互联网

标签:jquery javascript ajax refresh onunload


我有一种情况,在页面卸载我发出删除用户工作草稿的请求.在用户选择刷新页面之前,此工作正常,因此检查Chrome的网络选项卡会显示Chrome正在加载新页面,然后实际触发了ajax请求.结果是页面加载创建了新草稿,然后通过ajax调用立即删除.这基本上就是我在做的事情:

window.onbeforeunload = function(){
    if (pageUpdated){
        return 'Are you sure you want to abandon this draft?';
    }
}

window.onunload = function(){
    $.ajax({
        async: false,
        type: 'DELETE',
        url: '/some/url/'
    });
}

有没有办法在发送新页面请求之前强制onunload处理程序完成?

浏览器测试:( Chrome 9,FF 3.6)在Ubuntu 10.04 Lucid上

解决方法:

在onbeforeunload或$.unload()中使用async = false设置AJAX对象.这将确保在卸载页面之前完成ajax调用.

我知道这个问题已经有几个月了,但我想添加这些信息,以防有人帮助任何人搜索与AJAX类似的问题!

标签:jquery,javascript,ajax,refresh,onunload
来源: https://codeday.me/bug/20190716/1483353.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有