当用户以任何方式离开页面时,我都需要发送一个发布请求。到目前为止,这就是我所拥有的,但它不起作用:
$(window).unload(function(){
$.post("http://localhost/project/quizTime.php",{action:"updateTime",userID:userid,quizID:quizid,newTime:currentTime*1000,rand:Math.random()},function(time)
{
});
});
通过用单击函数替换 window.unload 来测试 PHP 代码。这完美地工作并根据需要更新所有内容,这意味着问题出在 $(window).unload 触发器上。
最佳答案
您必须使用 async 选项设置为 false 的 ajax 方法,如下所示:
$.ajax({
type: 'POST',
async: false,
url: 'YOUR_URL',
data: 'YOUR_DATA'
});
通过这种方式,浏览器会等待请求完成,然后再执行其他操作。
关于jQuery post on window.unload(窗口或浏览器关闭),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10011491/