AJAX обратный вызов не обрабатывает данные должным образом - PullRequest
0 голосов
/ 26 августа 2010

У меня есть скрипт PHP, который я вызываю с помощью функции .post() в jQuery. Если все идет хорошо, он выводит «WIN», в противном случае он выводит все ошибки базы данных или что-либо еще, что он получает.

$.post("myscript.php", {key: "value"}, function(data) {
   if(data=="WIN") {
      // the stuff that I want it to do that it won't do
   } else {
      alert(data);
   }
});

Когда он запускается, я получаю «WIN» в предупреждении JS, и ничего такого, чего я хочу, не происходит. Поскольку в предупреждении появляется «WIN», PHP-скрипт четко выводит то, что я ожидал. Я даже позаботился о том, чтобы установить Content-Type скрипта PHP на text/plain, так почему бы не data=="WIN". Почему мой WIN FAIL?

Ответы [ 2 ]

1 голос
/ 26 августа 2010

Вы проверили пробелы? Любые пробелы до или после echo "WIN" будут влиять на вывод, также проверьте пробелы до и после тегов <?php.

0 голосов
/ 26 августа 2010

Скорее всего, вы пытаетесь получить доступ к возвращенным данным из «данных» напрямую.Попробуйте

 alert(data.d);

Я думаю, вы обнаружите, что возвращенные данные находятся в собственности.Если я правильно помню, имя этого свойства - «d».Используйте плагин FireFox FireBug для просмотра возвращенных данных.Это очень полезно для отладки AJAX.

Удачи!

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