Я знаю, что этот вопрос был задан некоторое время назад, и то, что я собираюсь сказать, имеет отношение к новым версиям Chrome, но я думаю, что это может быть полезно для многих разработчиков.
Like @Garry Английский сказал , отправка асинхронного запроса во время страницы onunload не будет работать, так как браузер убьет поток перед отправкой запроса. отправка запроса на синхронизацию должна работать.
Это было правильно до версии 29 Chrome, но в Chrome V 30 он неожиданно прекратил работу , как указано здесь .
Похоже, что единственный способ сделать это сегодня - использовать onbeforeunload событие , как предлагается здесь .
НО ПРИМЕЧАНИЕ: другие браузеры не позволят вы отправляете запросы Ajax в событии onbeforeunload вообще. так что вам нужно будет выполнить действие как в разгрузке, так и перед загрузкой, и проверить, было ли это уже сделано.
Что-то вроде этого:
var _wasPageCleanedUp = false;
function pageCleanup()
{
if (!_wasPageCleanedUp)
{
$.ajax({
type: 'GET',
async: false,
url: 'SomeUrl.com/PageCleanup?id=123',
success: function ()
{
_wasPageCleanedUp = true;
}
});
}
}
$(window).on('beforeunload', function ()
{
//this will work only for Chrome
pageCleanup();
});
$(window).on("unload", function ()
{
//this will work for other browsers
pageCleanup();
});
Надеется, что это поможет кто-нибудь.
Скорее всего, объем не связан. Можете ли вы проверить и подтвердить статус ниже pvc
PravName: PVNNAME
kubectl get pvc | grep pvcName