如何在没有取消的情况下在页面卸载时发送AJAX请求?

我正在尝试在unload事件上发送PUT请求,但请求始终被取消。

这里的答案说不可能: 如何在页面卸载时执行ajax调用?

这里的答案表明它是可能的: 如何在页面卸载/离开时发送AJAX请求?

我可以在卸载时发送AJAX请求,如果是这样,我怎么能不被取消。

编辑:我不关心响应,我不需要回复。 只需要向服务器发送一些信息,说明页面已经关闭而没有保持活动检查。

您需要做的就是使ajax调用同步。 这样浏览器将在关闭窗口/选项卡之前等待响应,并且不会被取消。

 $(window).unload(function(){ $.ajax({ type: 'PUT', url: '/your_url.php', async:false, //IMPORTANT, the call will be synchronous data: {} }).done(function(data) { console.log('complete'); }); });