1

私はこれを使用してjson形式でajax jqueryから情報を取得していますが、このようなエラーが発生します 0 =[object object]

$.getJSON("ajax_files/getSingleRow.php?id="+id+"&type="+type, function(json){ 
                 $.each(json, function(key, val) {
                    //$("#"+key).val(val);
                    alert(key+'='+val);
                 });
                 });

これが私のjosn stringです

[{"id":"1","ref":"RH-R-1","name":"","description_demo":"this is desc test"}]

ありがとう...これが私のjsonの開発方法です

  while($rw = $oAppl->row($res))
{
 $return[]=array('id'=>$rw['id'],
                'ref'=>$rw['ref'],
                'name'=>$rw['name'],
                'description_demo'=>$rw['description_demo']);
}

    header('Content-type: application/json');
   echo json_encode($return);
4

5 に答える 5

2

JSON テキストは、オブジェクトを含む配列で構成されます。

ループすると、配列の最初のキー ( 0) が取得され、次にオブジェクトの文字列シリアル化( ) が取得されます[Object object]。その後、配列にエントリが 1 つしかないため停止します。

これはエラーではありません。入力しているデータを考えると、これは予想される動作です。

代わりにオブジェクトをループしたい場合があります。その場合は次のようになります。

var ob = json[0];
$.each(ob, function(key, val) {
于 2013-03-04T12:44:16.393 に答える
0

JSON コレクション項目の適切な値を読み取ります。

 $.each(json, function(key, item) {
     alert(key+'='+item.id);
     alert(key+'='+item.ref);
     alert(key+'='+item.description_demo);
 });

ページに他のスクリプト エラーがない場合、これは正常に機能するはずです。

作業サンプル: http://jsfiddle.net/a4Efx/4/

于 2013-03-04T12:48:20.387 に答える
0

これはエラーではなく、厳密にはオブジェクトです。誰が知っているエラーが含まれている可能性があります。しかし、それ自体はアクセスされるのを待っているもの (つまり、 の値val) であり、本質的に間違っているものは何もありません。

アラートに物をダンプするだけでなく、メンバーにアクセスして、、などを出力してみてくださいidname

于 2013-03-04T12:43:18.130 に答える
0

これを試して:

$.getJSON("ajax_files/getSingleRow.php?id=" + id + "&type=" + type, function (json) {
    $.each(json, function (key, val) {

        // This will only give you the 'ref' value
        alert(key + '=' + val.ref);

        // To loop through all the values
        $.each(val, function (key2, data) {
            alert(key2 + ": " + data);
        });
    });
});

デモはこちら

于 2013-03-04T12:45:52.360 に答える
0

JSON 文字列は配列内にラップされています。[ {} ][」と「]」は省略してください。

于 2013-03-04T12:46:00.200 に答える