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);
});

编辑:您需要告诉 jQuery 这是 JSON,并且它需要解析它。这可以通过添加'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 回答