Ajax-вызовы являются асинхронными - это означает, что они срабатывают, и когда-нибудь в будущем придет ответ. Код не ждет ответа. Если вы уходите со страницы до того, как это произойдет, вы вытаскиваете коврик из-под запроса.
Либо сделайте вызов синхронным, либо добавьте некоторый обработчик события «onbeforeunload», чтобы проверить, завершился ли ваш вызов ajax, прежде чем разрешить пользователю перемещаться со страницы.
или: просто не обновляйте страницу!