У меня есть эта функция, чтобы разблокировать список, который в настоящее время редактирует пользователь:
function unsetLock(id) {
$.ajax({
type: "POST",
url: "/ajax.php?action=unsetLock",
dataType: 'json',
data: "id="+ id
});
return true;
}
Когда пользователь выходит из списка, я должен отменить блокировку:
unsetLock(lockID);
document.location.href='/page/to/navigate/back/to.php';
Однако эта разблокировка иногда работает, а иногда нет. Я думаю, что это потому что document.location.href
выполняется до того, как вызов ajax будет фактически отправлен на сервер.
Как я могу принудительно отправить разблокировку перед переходом пользователя на следующую страницу?
На самом деле мне не нужно ждать Ajax-Reply, так как я хочу перенаправить пользователя, независимо от того, успешно ли он или нет. Я просто хочу убедиться, что он передается на сервер.
Если я помещу document.location.href
в функцию Ajax, она будет ждать ответа.