0

Scoreoid プラットフォームを使用してリーダーボードを実装しています。以下は、私の JSON 応答です。

[{
    "Player": {
        "username": "TestPlayer",
        "email": "",
        "first_name": "",
        "last_name": "",
        "platform": ""
    },
    "Score": {
        "score": "23",
        "created": "2012-07-13 22:06:46",
        "difficulty": "0",
        "platform": ""
    }
}]

これを使用して、この JSON を DIV にフォーマットしようとしています (これには私の呼び出しも含まれています):

$(document).ready(function(){
            $.post('scoreoid_proxy.php', {action:'curl_request', method:'getScores', response:'JSON'},
            function(data) {
            $.each(data.Player, function(i,Player){
                content = '<p>' + Player.username + '</p>';
                content += '<br/>';
                $(content).appendTo("#response");
                });
            });
        });

ただし、次のエラーが発生します。

object is undefined
length = object.length,

何か助けていただければ幸いです。私が見逃しているのは単純なものだと確信しています。ありがとうございました。

4

1 に答える 1

1

data(オブジェクトの) 配列です。

$.each(data, function(i, v){
    var Player = v.Player;
    var content = '<p>' + Player.username + '</p><br/>'
    $("#response").append(content);
});

EDIT:これがJSONであり、解析する必要があることをjQueryに伝える必要があります。これは、(コールバックの後に) に'json'パラメーターとして追加することで実行できます。$.post

$.post('scoreoid_proxy.php', {
    action: 'curl_request',
    method: 'getScores',
    response: 'JSON'
}, function (data) {
    $.each(data, function (i, v) {
        var Player = v.Player;
        var content = '<p>' + Player.username + '</p><br/>'
        $("#response").append(content);
    });
}, 'json');
于 2012-07-13T21:20:36.570 に答える