Почему я получаю пустой ответ в моем обратном вызове $ .post ()? - PullRequest
0 голосов
/ 08 июля 2010

Что не так с этим кодом?Я не могу проверить данные:

$.post('http://localhost/do.php', function(data) 
{
  if (data == "success")
  {
    //do something... but this line never hit!
  }
});

Я также пытался

alert(data);

, но получил пустое окно с предупреждением!

do.phpв случае успеха echo "success"

echo "success";

ок .. вот полный исходный код:

<script type="text/javascript">
function confirm_delete(id)
{
    var r=confirm("Are you sure you want to delete?");
    if (r==true)
    {
      var path = "http://localhost/site/index.php/delete/" + id;

     $.post(path, function(data) 
      {
            if (data=='success')
            {
            $('#'+id).remove();
            }
            else 
            {
            alert("Unable to delete, try again!");
            }
      });

    }else
    {
      //cancel
    }
}

//-->
</script>

В HTML будет много постов с соответствующими идентификаторами в div, заложенный php из базы данных, примерно так:

<div id="1">
<div class='post'>Something</div>
<a href="#"><img src="styles/plugins/buttons/icons/cross.png" height="8" width="8" title="Remove" onclick="confirm_delete(1)"/></a>
</div>

<div id="2">
<div class='post'>Something</div>
<a href="#"><img src="styles/plugins/buttons/icons/cross.png" height="8" width="8" title="Remove" onclick="confirm_delete(2)"/></a>
</div>

<div id="3">
<div class='post'>Something</div>
<a href="#"><img src="styles/plugins/buttons/icons/cross.png" height="8" width="8" title="Remove" onclick="confirm_delete(3)"/></a>
</div>

В php сейчас ничего нет ... он просто печатает успех ... я сделал это так для тестирования.

echo "success";

При переходе по ссылке напрямую печатается «успех».«Данные» - это строка?Я имею в виду это правильно?

if (data=='success')

Ответы [ 3 ]

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

Это выглядит так, как будто jQuery сталкивается с ошибкой AJAX. Если jQuery обнаруживает ошибку, используя один из этих сокращенных методов ($ .get () $ .set ()), он молча завершается неудачей. Однако, если вы реализуете метод ajaxError () в jQuery, вы можете получить ошибку. Я бы предложил сделать это, прежде чем идти дальше.

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

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

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

вы печатаете / отображаете значение данных в файле do.php?

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