0

今日、JSON/PHP/JS で遊んでいますが、問題が発生しています..

PHP は正常に動作し、SQL テーブルからデータの行を取得し、JSON としてエンコードします。私の JS/Jquery ファイルは、$.getJSON を使用して PHP ファイルからデータを正常にロードします。

ただし、ページの後半で次のようにデータを使用しようとすると、gender = user['player'].gender、user.player is undefined になります。

これは関連する私のコードです:

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 が定義されていないというエラーが表示されます。男性のヘルプが表示されるはずです。これを修正するために多くのことを試みましたが、うまくいかないようです。

4

1 に答える 1

4

$.getJSON非同期 です。

リクエストが送信されるとすぐに次の行に進み、リクエストが完了するのを待ちません。

したがって、変数にアクセスしようとすると、まだ使用できません..

の後にそのコードを入れてみてください$.each。動作するはずです。

于 2012-11-27T16:35:44.073 に答える