尝试访问从JSON数据创建的数组时未定义

时间:2012-11-27 16:33:12

标签: php javascript jquery json

我今天一直在玩JSON / PHP / JS而且我遇到了问题..

我的PHP工作正常,从我的SQL表中获取一行数据,然后编码为JSON。 我的JS / Jquery文件使用$ .getJSON加载PHP文件中的数据。

然而,当我尝试在页面中稍后使用数据时:性别=用户['播放器']。性别,我得到 user.player未定义。

这是我的相关代码:

function getUserInfo() {
    var url = "./php/getUserInfo.php";
    $.getJSON(url, function(data) {
        $.each(data.members, function(i, dat) {

            user['player'] = {
                gender: dat.gender,
                fname: dat.first_name,
                lname: dat.last_name,
                username: dat.username,
            };
        });
    });
}

user = {};
getUserInfo();

//Displays an object, which has the correct information I want.
console.log(user);
var gender = user['player'].gender;
console.log(gender);​

最后一行代码给出了user.playe未定义的错误。但它应该显示男性 帮助会有所帮助,我已经尝试了许多方法来解决这个问题,但似乎无法解决这个问题。

1 个答案:

答案 0 :(得分:4)

$.getJSON 异步

请求一发送,就会转到下一行,不等待请求完成。

因此,当您尝试访问该变量时,它仍然无法使用..

尝试将这段代码放在$.each之后,它应该可以正常工作。