如何在beforeunload上执行ajax函数?
我正在开发php / javascript聊天。
用户登录时,其用户名将插入名为的MySQL表中queue
。此插入返回mysql_insert_id()
将存储在称为$_SESSION['CHAT_QUEUE_ID']
当用户关闭页面时,我需要删除MySQL表行。
我尝试了以下方法,但没有成功:
js文件
window.onbeforeunload = closeSession;function closeSession(){
$.ajax({
url: "/chat/process/chat.php",
type: "GET"
});
return "disconnected";
}
chat.php
$delete= "DELETE FROM queue WHERE id = " . $_SESSION['CHAT_QUEUE_ID'];// query, etc
有什么办法吗?
回答:
您触发ajax异步(jQuery的默认设置-ajax)。但是浏览器不会等待任何卸载。
尝试async : false
在ajax 设置中进行设置。但是,您永远无法确定每次都能在所有浏览器中使用该功能。
以上是 如何在beforeunload上执行ajax函数? 的全部内容, 来源链接: utcz.com/qa/405552.html