javascript - Firefox 15 中的 ajaking onbeforeunload

标签 javascript jquery ajax windows firefox

当我尝试执行 ajax“即发即忘”调用时,我遇到了 Firefox 15.0.1 的问题。基本上,当用户关闭页面或重定向时,我想执行 ajax 调用。在 Chrome 和 IE 中,当我在 Charles 中查看我的请求时,这似乎工作正常。但是,在 FireFox 中,我没有看到进行 ajax 调用。

jQuery(window).on('beforeunload',function(){
     jQuery.ajax({url:'some page', type: 'GET', dataType: 'script'});
});

我知道当我包含 console.log 或警报时该事件会起作用。在卸载之前似乎没有足够的时间来执行此 ajax 调用。有人对此有什么想法或有解决方法吗?

最佳答案

您可以创建另一个执行 ajax 调用的 html 页面,该调用将从 onbeforeunload 事件中调用。

该新页面将执行该操作并在完成后立即关闭。

另一种方法是使用同步 ajax 调用,如下所示:

jQuery.ajax({
     url:    'http://abcexample.com/getInfo',
     success: function(result) {
                  if(result.isOk == false)
                      alert(result.message);
              },
     async:   false
});

但是同步调用会等待调用完成后再继续。如果您想执行并忘记 ajax 调用的作用,那么第一种方法会很好用。

关于javascript - Firefox 15 中的 ajaking onbeforeunload,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13130060/

相关文章:

javascript - 如何在node js中读取音频流?

javascript - 如何在 stylelint 配置 js 中添加特定规则的忽略文件

javascript - 在所有屏幕宽度上应用第 n 个 child

javascript - 函数参数中的解构和重构?

javascript - jQuery Ajax 异步函数不会在成功时触发

javascript - 根据滚动到的部分设置 url 哈希?

javascript - Ajax DELETE 请求似乎仅删除列表中的第一项

ajax - 如何使用 jquery $.get() 发送参数

javascript - JS - 重定向并返回主页

jquery - IE9 "no transport"错误,Firefox/Chrome工作,且请求不是跨站