0

私はmysqlからデータを正常に取得しました。コードは次のとおりです

alert(data);
$.each(data, function(index, data) {
                        alert(index);
                        alert(data);
                    });

data.comments を見たいです。alert(data) のメッセージは

[{"visible":"0","comments":"fiat","post_id":"103007636522630"},{"visible":"0","comments":"volvo","post_id":"103007636522630」 "}]

ただし、各関数では、各文字を示します。たとえば、index=1、data=[、index=2、data={、index=3、data=">

なぜこれが起こるのか誰にも分かりません。各文字ではなく行全体をフェッチしたいのですが

PHP コード

$data2= $_POST['string'];

$data3= explode(",", $data2);

$data = array();

foreach ($data3 as &$value) {
   $sql = "SELECT * FROM afb_comments where post_id='".$value."'";  
   $result = mysql_query($sql,$conn);
   while($row = mysql_fetch_array($result)){
      $row_data = array(
       'visible' => $row[0], 
       'comments' => $row[1],
       'post_id' => $row[2]
    );
   array_push($data, $row_data);
  }
  }
 echo json_encode($data);
4

1 に答える 1

0

JSON 応答を解析する必要があります。

これは、次のような AJAX 呼び出しでオプションを使用する$.getJSONか、設定した場合に自動的に実行できます。dataTypedataType:'json'

または、手動で実行する場合:

data = $.parseJSON(data);
$.each(data, function(index, data) {
    alert(index);
    alert(data);
});
于 2013-10-29T23:40:28.607 に答える