Мне нужно вызвать функцию jquery ajax() перед выгрузкой окна. В моем случае это POST, и меня не волнует результат возврата, я просто хочу обновить базу данных.
Таким образом, кажется, что ответ заключается в том, чтобы связать функцию с событием выгрузки, т.е. использовать функцию jquery unload(), и эта функция выполняет вызов ajax. Кроме того, я знаю, что вы должны добавить синхронный параметр к вызову. Другими словами, добавьте async: false к вызову jquery ajax().
Однако я пробовал все это, и это не работает в IE8! Я тестировал его много раз, и он просто не будет работать в IE8. Отлично работает в Firefox и Chrome.
Еще более странно то, что после закрытия всего приложения IE8 кажется, что вызов проходит! Он кешируется?
Поэтому другие люди предлагают связать ajax перед выгрузкой с помощью jquery bind(). Однако, похоже, есть некоторые неоднозначные ответы на вопрос, будет ли это работать во всех браузерах.
Я еще не пробовал перед выгрузкой, так как это похоже на «взломанный» способ сделать это. Однако, если это работает, то мне все равно, пока это работает.
1 ответ
Нельзя ли вызвать функцию в теге body страницы?
<body onbeforeunload="funcName(param)">
Таким образом, каждый раз, когда страница выгружается, она вызывает вашу функцию, и вам не нужно беспокоиться о привязке.
Похожие вопросы
Связанные вопросы
Новые вопросы
jquery
jQuery — это библиотека JavaScript. Также рассмотрите возможность добавления тега JavaScript. jQuery — это популярная кросс-браузерная библиотека JavaScript, которая упрощает обход объектной модели документа (DOM), обработку событий, анимацию и взаимодействие AJAX, сводя к минимуму расхождения между браузерами. Вопрос с тегом jQuery должен быть связан с jQuery, поэтому jQuery должен использоваться рассматриваемым кодом, и в вопросе должны быть как минимум элементы, связанные с использованием jQuery.