2013-03-03 96 views
2

我使用Ajax来调用一个php站点,但我想要做一些“成功”和“出错”的事情。Ajax和Jquery - 成功

到现在为止,这是我的JS:

$("#votePositive").click(function(){ 
      var idEntrada = $('.entry').attr('id'); 
      var url = "{{ path('moderar_entrada_votacion') }}"; 
      var eleccion=1; 
      $.ajax({ 
       type: "POST", 
       url: url, 
       data: { 
        idEntrada: idEntrada, 
        eleccion: eleccion 
       },error: function(){alert("eee")}, success: function(){alert("bbb")} 
      }); 
     }); 

所以这是我的PHP代码(只是一个回报,只是想尝试一下,如果连接正常工作)

return true 

但我的网站的弹出窗口警报“eee”。

我试过:

return false 

但同样正在发生的事情,EEE警报了正在添加。

如果我只是从php文件中删除“返回”状态,它会显示“bbb”警报。

我该如何处理这些退货?我该如何告诉Ajax它可以或不可以?

+0

你的php脚本应该是打印值,而不是“返回”什么是返回到ajax调用是http响应。数据是响应的主体,无论您在该页面上回复什么。有一件事可能会帮助你在ajax调用中设置数据类型。 – ajon 2013-03-03 16:07:11

回答

1

这不是从你的PHP返回truefalse。而是关于HTTP响应代码和返回的内容。例如,如果您的PHP只是:

echo 'Hello world' 

success将被调用。尽管您当然想要返回(可能是JSON表示形式)您的实际数据集。

+0

所以我想我必须玩“如果我返回任何东西,它的工作很好”,否则,如果我不返回任何东西,这意味着出了问题。 – Reinherd 2013-03-03 16:24:08

+0

通常,如果您确定发生了错误,则应该使用[header](http://php.net/manual/en/function.header.php)或内容作为HTTP错误代码返回。返回类似于'{error:true,message:“有问题的东西}的JSON很常见} – juco 2013-03-03 16:26:17

+0

哦。那么atm我有这样的:'返回新的响应(true,400);'或'返回false;'这是工作=) – Reinherd 2013-03-03 16:29:34