Мне нужно вызвать функцию jquery ajax () перед загрузкой окна. В моем случае это POST, и меня не волнует возвращаемый результат, я просто хочу обновить базу данных.
Таким образом, ответ, по-видимому, заключается в том, чтобы связать функцию с событием unload, т. Е. Использовать функцию jquery unload (), и эта функция выполняет вызов ajax. Кроме того, я знаю, что вы должны добавить синхронный параметр в вызов. Другими словами, добавьте async: false к вызову jquery ajax ().
Тем не менее, я попробовал все это, и он не работает на IE8! Я проверял это много раз, и он просто не будет работать на IE8. Прекрасно работает в Firefox и Chrome.
Еще более странным является то, что после закрытия всего приложения IE8 создается впечатление, что вызов проходит! Это кэшируется?
Поэтому другие люди предлагают связать ajax перед загрузкой с помощью jquery bind (). Однако, кажется, есть некоторые смешанные ответы о том, будет ли это работать во всех браузерах.
Я еще не пробовал beforeunload, так как это похоже на "хакерский" способ сделать это. Однако, если это работает, то мне все равно, пока это работает.