php – 如何执行ajax函数onbeforeunload?

我正在开发一个PHP / javascript聊天.

用户登录时,他/她的用户名被插入到称为队列的MySQL表中.
此插入返回将存储在名为$_SESSION [‘CHAT_QUEUE_ID’]的会话变量中的MysqL_insert_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).但浏览器不会等待卸载任何东西.

尝试在ajax设置中设置async:false.但是,您永远都不能确定这会在所有浏览器中都可以工作.

看到这里的评论
http://api.jquery.com/unload/#dsq-comment-body-132164390

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...