ori的答案是正确和完整的.
但从您的情况来看,您可以使用解决方法.
您可能会感兴趣的JavaScript功能有两个:
localStorage和sessionStorage(除了第二个在浏览器关闭之外,它们是一样的,所以你可以选择第一个)
这个想法是将数据保存到localStorage,并附上一些元数据,说明是否保存了更改.如果用户离开页面,但转到服务中的另一个页面,甚至稍后返回 – 您可以再次发送一些由于页面卸载而未保存的信息.
概念证明代码:
$(window).bind('unload',function() {
localStorage.setItem('unsavedData',data);
localStorage.setItem('unsaved',true);
});
$(document).ready(function(){
if(localStorage.getItem('unsaved')){
//ajax send
localStorage.setItem('unsaved',false);
}
});
[编辑]
我已经成功地使用JSONP卸载,它似乎在大多数时间工作,但是我没有在负载和慢速网络下测试它.