繁体   English   中英

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

[英]Undefined when trying to access array created from JSON data

我今天一直在使用JSON / PHP / JS,但遇到了问题。

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

但是,当我稍后尝试在页面中像这样使用数据:gender = user ['player']。gender时,我得到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。 但是应该显示“男性帮助”会有所帮助,我已经尝试了很多方法来解决此问题,但似乎无法解决。

$.getJSON异步的

发送请求后,它将转到下一行,并且不等待请求完成。

因此,当您尝试访问变量时,它仍然不可用。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM