0

このトピックに関連する質問がすでにたくさんあることは知っていますが、私はそれらをたくさん試しましたが、それでも値を取得できません。

私はfirbugを使用していて、次のように正しい応答を取得しています:-

[{"id":4,"comments":1,"likes":5,"books":3,"name":"steve"}] 

しかし、私はそれらをページに表示することができません。alert(data.id)を試してみると、アラートボックスに未定義が表示されます。これが私のコードです:-

$.ajax({
                type: "GET",
                url: "getdata.php",
                data: dataString,
                dataType:"json",
                success: function(data){
                               alert(data.id);

                    }
                });

私は試した

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

これにより、アラートボックスにキーは0として表示されますが、要素は[オブジェクトオブジェクト]として表示されます

4

1 に答える 1

5

これは、応答が配列であるためです。

どちらか

success: function(data){
    alert(data[0].id);
}

またはオブジェクトのみを返す

{"id":4,"comments":1,"likes":5,"books":3,"name":"steve"}

または、配列を保持したい場合は、そのまま使用してeachください

$.each(data, function (key, element) {
    alert(key); 
    alert(element.id); 
    alert(element.comments); 
    alert(element.likes);
    ... 
});
于 2013-03-26T21:37:00.973 に答える