为什么我的$ .post()回调中出现空响应?

时间:2010-07-08 18:03:10

标签: jquery ajax post

这段代码有什么问题?我无法验证'数据':

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

我也试过了,

alert(data);

但是有一个空警报框!

成功的do.php,echo的“成功”

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中使用各自的id,由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 :(得分:0)

您是否在do.php文件中打印/回显数据的值?

答案 1 :(得分:0)

看起来好像jQuery遇到了AJAX错误。如果jQuery使用其中一种速记方法($ .get()$ .set())遇到错误,则会无声地失败。但是,如果在jQuery中实现ajaxError()方法,则可以获得错误。我建议你再继续这样做。

答案 2 :(得分:0)

您是否检查过您的Web服务器错误日志以确保服务器没有静默失败并记录错误而不是显示错误?