1

jsonを作成するphp(history.php)があります

$i=1;
 $q=mysql_query("select * from participants where phone='".mysql_real_escape_string($_GET['phone'])."' limit 10");
 while($rs=mysql_fetch_array($q)){
      $response[$i] = $rs['code'];
$i++;   
    }
    print json_encode($response);
    exit;

js では、次のファイルにアクセスします。

var req=$.get("history.php", { phone: "" + phone + ""},

                        function(data) {
        //data="1":"code1","2":"code2","3":"code3","4":"code4","5":"code5"};
                            var msg = "";
                            for(i=1;i<=5;i++){
                                msg+= "<li>"+data[i];
                            }
                            $(form_message).html(msg);

                        })

このコードが実行された後、私の出力は

  • "
  • 1
  • "
  • :
  • "
  • これは、「データ」が配列として渡されないことを意味します。文字列のように渡されます。しかし、js のデータ変数のコメントを外せば、すべて問題ありません。出力は次のとおりです。

  • コード1
  • コード2
  • コード3
  • コード4
  • コード5
  • PHPからデータを渡すときに何が間違っているのか教えてください。

    前もって感謝します

    4

    1 に答える 1

    2

    あなたの場合、返されたコンテンツはtextではなく として解釈されるため、代わりに$.getJSONjsonを使用する必要があります。$.get

    var req=$.getJSON("history.php", { phone: "" + phone + ""}, function(data) {
        var msg = "";
        for(var i in data){
            msg+= "<li>"+data[i]+"</li>";
        }
        $(form_message).html(msg);
    });
    
    于 2012-06-16T07:14:27.903 に答える