Tôi đang phát triển một cuộc trò chuyện php/javascript.Làm thế nào để thực hiện chức năng ajax onbeforeunload?
Khi người dùng đăng nhập, tên người dùng của họ được chèn vào bảng MySQL có tên queue
. Chèn này trả về số mysql_insert_id()
sẽ được lưu trữ trong biến số phiên được gọi là $_SESSION['CHAT_QUEUE_ID']
Tôi cần hàng bảng MySQL sẽ bị xóa khi người dùng đóng trang.
Tôi đã thử các sau đây, nhưng không thành công:
js nộp
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
Có cách nào để làm điều này?
Bạn có biết rằng trình duyệt hỗ trợ cho ' 'onbeforeunload'' bị hạn chế? Ví dụ. opera không hỗ trợ nó. – ckruse
Tôi đã không nghĩ về điều đó. Bất kì lời đề nghị nào? – matheusvmbruno
Phương pháp phổ biến là xác định thời gian chờ. Nếu người dùng không có hoạt động trong một khoảng thời gian cụ thể thì anh ta sẽ bị ngắt kết nối. – ckruse