Ajax / PHP .post и .load не возвращают никаких данных - PullRequest
0 голосов
/ 04 июля 2010

Я работаю над формой входа / выхода AJAX. Логин работает нормально, но когда кто-то нажимает на кнопку «Выйти», у меня возникают некоторые проблемы.

Javascript:

$("#logout").live("click", function(){
  $.post("/hd/ajax.php",{ logout: "1" }, function(data) { 
    alert(data); 
  });
});

ajax.php:

 if(isset($HTTP_POST_VARS['logout']) && $HTTP_POST_VARS['logout'] == 1)
 { 
 $this->auth = false;
 $this->un = false;
 $this->id = false;
 setcookie ($this->cun, "", 1, "/", $this->chn, 0);
 setcookie ($this->cpw, "", 1, "/", $this->chn, 0);
 echo "1";
 return 1;
 }

При нажатии запрос отправляется, и пользователь просто выходит из системы. Предупреждение (данные) ничего не возвращает, хотя функция PHP возвращает «1»

Я разместил на ajax.php сообщение вручную, и я получил текст «1», приходящий в мой браузер.

Я только что заметил, что, если я удаляю alert () из функции обратного вызова, пользователь фактически не выходит из системы с помощью вызываемого сценария PHP. Я должен предупредить (данные), чтобы пользователь вышел из системы.

Единственное, о чем я могу думать, это то, что я отправляю информацию заголовка (очистку файлов cookie) в файл PHP до того, как данные возвращаются. Это нормально? Или это причина моих проблем?

Я чувствую, что упускаю что-то очевидное, пожалуйста, дайте мне знать, если так.

1 Ответ

0 голосов
/ 04 июля 2010

Единственное, что я могу сказать, это, возможно, попытаться сделать:

return "1"

Запрос ajax использует интеллект, чтобы попытаться выяснить тип возвращаемого данных, и может возникнуть проблема, поскольку это не строка, а не json или html.

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