0

朋友我有问题。我有一个会员区功能,它将使用 jquery 显示收件箱消息的计数。

这就是我所做的。

function listner_requests(){
  $.ajax({
  type: "POST",
  url: "http://src.abc.com/listner.php",
  data: "action=listner_requests",
  success: function(responseText, statusText, xhr) { alert(responseText);                               
  },
 error: function(data, statusCode) {
    alert("ERROR: "+data)
    }
  });
    } 

监听器.php

if($_POST['action']=="listner_requests"){
$sql="SELECT messages FROM friend_requests WHERE message_to='".$_SESSION['MEMBER_ID']."'";
$data=mysql_query($sql,$profile);
$count=mysql_num_rows($data);
echo $count;
exit();
}

我在没有 ajax 的情况下执行 php 来测试它是否工作。它工作得很好。

但如果我使用 ajax 方法,它不会提醒正确的响应。它会产生错误。我做错事了吗?请帮我。谢谢

4

2 回答 2

1

不是解决方案 - 而是帮助调试的评论(不能在评论中发布,因为代码不会出现)

你的代码:

  success: function(responseText, statusText, xhr) {
      alert(responseText);                                
  }, 
  error: function(data, statusCode) { 
      alert("ERROR: "+data) 
  } 

有点误导,因为您将参数弄混了。您会发现使用以下命令进行调试会更清晰:

  success: function(data) {
      alert(data);                                
  }, 
  error: function(xhr, status, textError) { 
    alert('Error ' + xhr.responseText + ' - ' + status + ' - ' + textError); 
  } 

如果 xhr.responseText 为空白(如您在评论中所说),则 textError 可能会显示答案。否则,状态将...

于 2012-09-17T06:58:13.980 回答
0

假设你想计为响应..我更喜欢返回数据作为 json ......检查一下......看看它是否有效......

function listner_requests(){
$.ajax({
type: "POST",
dataType:'json',
url: "http://src.abc.com/listner.php",
data: "action=listner_requests",
success: function(data) { alert(data.totalcount);                               
},
error: function(data, statusCode) {
alert("ERROR: "+data)
}
});
} 

监听器.php

if($_POST['action']=="listner_requests"){
$sql="SELECT messages FROM friend_requests WHERE         message_to='".$_SESSION['MEMBER_ID']."'";
$data=mysql_query($sql,$profile);
$count=mysql_num_rows($data);
echo json_encode(array('totalcount'=>$count));
exit();

}

于 2012-09-17T08:37:48.823 回答