1
我需要执行一次ajax请求,每次用户决定离开页面时发送一些数据服务器端。不过,我不想在离开时打乱他们:我不希望弹出消息出现。目前我的代码是这样的:javascript中的Ajax window.beforeunload:返回错误
window.onbeforeunload=function(){
unloadAjax();
}
这不起作用,并导致一个瞬间ajax错误消息出现。但是,如果我在onbeforeunload函数内添加return false;
语句,则ajax可以正常工作。我该如何解决这个问题?
我得到了那部分,但仍然不知道如何延迟卸载刚好足以让ajax完成 – whamsicore
如果您的请求不需要很长时间,请使用同步AJAX请求。但是,您应该小心使用此方法。仅仅因为你想要通知服务器,暂时停止浏览器的时间不够用户友好。如果你的网页显然是一个编辑器(包括必须保存的数据),那么最好使用'return'通过'beforeunload'保存''''。 –
谢谢,异步请求做到了 – whamsicore