JQuery AJAX синхронный HTTP-запрос - PullRequest
0 голосов
/ 14 апреля 2011

Я использую ajax и jquery для отправки HTTP-запроса * synchonou * s к php-скрипту в веб-приложении для выхода из системы пользователя, если пользователь решает покинуть страницу, а не выйти из системы.

я использую следующий код:

function close()
{
  return "If you exit you will be logged out ...!";
}
window.onbeforeunload = close;

$(window).unload( function () { 

$.ajax({
        url: "logout.php",
        async:false,
        success: function(msg){
        alert( "You have been logged out ...!");}
});     
});

ajax работает во всех случаях, кроме того, когда я нажимаю кнопку возврата.Когда я нажимаю кнопку «Назад», я даже запускаю функцию успеха, но когда я проверяю, что php-скрипт не запускается, у меня есть функция fwrite, чтобы сообщить мне, что она работает.в других случаях он работает, кроме кнопки «назад».

Ответы [ 2 ]

2 голосов
/ 14 апреля 2011

Я использую ajax и jquery для отправки асинхронного http-запроса

Запрос в указанном вами коде является синхронным, а не асинхронным.

Если выВы видите, что функция success вызывается, когда вы не видите работающий код PHP, это означает, что ваш браузер кэшировал предыдущий результат и использовал его повторно.Вы можете обойти это, добавив cache: false к опциям вашего запроса.

0 голосов
/ 14 апреля 2011

Возможно, это связано с кешем браузера вперед / назад. Проверьте этот ответ для получения подробной информации, а также принятый ответ на этой странице, который делает трюк с атрибутом onunload элемента <body>. Ваш случай противоположен приведенному в связанном вопросе, но он может помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...