首页 > 代码库 > Jquery在unload中成功调用Jquery的.ajax方法

Jquery在unload中成功调用Jquery的.ajax方法

因为页面要求,需要在页面跳转的时候做一些数据的保存工作,试了很多次,发现Jquery的unload事件中调用.ajax方法,在FireFox中可以顺利执行,但是在Chromium下却返回了textStatus为error的消息。试验过很多方法,例如在页面离开时弹出确认框,这样虽然返回了error消息,但是数据库显示操作执行完毕。将确认框除去后,数据库依然没有响应。

查阅多方资料后,发现是以为.ajax的异步响应问题,把ajax请求改为同步的,问题解决。 代码如下:

 1 $(window).unload(function(){ 2  $.ajax({ 3     url:testUrl,  4     async:false,   5     type:‘POST‘,   6     dataType:‘json‘,   7     data:{},   8     success:function(json){},   9     error:function(XMLHttpRequest,   textStatus,   errorThrown){}10     });11 });