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)
    }
  });
    } 

listner.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 に答える