Простой ответ: вы не можете сделать асинхронный вызов AJAX в событии beforeunload
надежно, он будет очень , вероятно, прерван до его завершения, так как мусор браузера соберет страницу. Вы можете сделать синхронный вызов, например:
$.ajax({
type: "POST",
url: 'conversation.php?leave=true',
data:{ud:used},
async: false
});
Пожалуйста, не делайте это, так как это задерживает вашего пользователя на странице дольше, чем необходимо, и предотвращает его уход, что приводит к негативному восприятию. Обратите внимание, что это также блокирует браузер во время его выполнения, в любом случае следует избегать async: false
.