发起Ajax请求当页面unload

前端之家收集整理的这篇文章主要介绍了发起Ajax请求当页面unload前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1 同步Ajax

这种需求主要用于当浏览器关闭,或者刷新时,向后端发起Ajax请求。

window.onunload = function(){
    $.ajax({url:"http://localhost:8888/test.PHP?",async:false});
};

使用async:false参数使请求同步(默认是异步的)。

同步请求锁定浏览器,直到完成。 如果请求是异步的,页面只是继续卸载。 它足够快,以至于该请求甚至没有时间触发。服务端很可能收不到请求。

2 navigator.sendBeacon

优点:简洁、异步、非阻塞
缺点:这是实验性的技术,并非所有浏览器都支持。其中IE和safari不支持该技术。

示例:

window.addEventListener('unload',logData,false);

function logData() {
  navigator.sendBeacon("/log",analyticsData);
}

参考:http://stackoverflow.com/ques...
参考:https://developer.mozilla.org...

猜你在找的Ajax相关文章