проблема закрытия окна PHP AJAX - PullRequest
0 голосов
/ 13 апреля 2011

У меня есть веб-приложение php, где я использую метод аутентификации. У меня есть скрипт logout.php в том же каталоге, что и индексный файл. Я хочу, чтобы код в logout.php выполнялся, если используемая середина сеанса решает выйти или уйти со страницы.

я пытался использовать

function closeIt()
{
    var exit = confirm("Are you sure you want to end this chat session ?");
    if(exit==true){
$.ajax({
   type: "GET",
   url: "logout.php",
   success: function(){ alert("Done");}
 });
    }
}

window.onbeforeunload = closeIt;

я получаю окно подтверждения, но я не добиваюсь успеха, я занимаюсь чем-то вроде работы или мне нужен новый подход все вместе?

Ответы [ 2 ]

1 голос
/ 13 апреля 2011

Ajax-вызов выполняется асинхронно, поэтому выполняется вызов, и обработка немедленно передается обратно на страницу, которая затем закрывается до завершения Ajax-вызова.

Вам нужно сделать синхронный вызов, чтобы сделать эту работу.

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

A в AJAX означает асинхронный. Возможно, вы захотите использовать синхронный XMLHttpRequest или вернуть false в конце closeIt() (что должно препятствовать закрытию окна) и в вашей функции успеха измените onbeforeunload на null и закройте окно с помощью window.close()

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