我需要在用户关闭页面时运行查询。显然; window.onbeforeunload 我们正确的事件。事实上我可以看到它触发了。
现在的问题是,由于某种原因(我不知道),当发出像这样的 AJAX 请求时,AJAX 不会运行:
window.onbeforeunload = function(e) {
jQuery.ajax({
type: 'POST',
url: 'release_all_holds.php',
datatype: 'json',
data: { SEATS: JSON.stringify(selectedSeats),
},
async: false,
});
}
像这样使用 navigator.sendBeacon 时它也不起作用:
window.onbeforeunload = function(e) {
var headers = {type: 'application/json'};
var blob = new Blob(JSON.stringify(selectedSeats), headers);
navigator.sendBeacon('release_all_holds.php', blob);
};
我知道它没有运行,因为我检查了mysql中的表,发现它没有更新。
这里有人真的成功做到了这一点吗?也许提供我可以使用的代码。