1

リモートサーバーから要求されたデータを取得する関数は次のとおりです。すべて問題ありませんが、1つだけです。

function get_users_request()
    {
        var result = [];
        var idx=0;
        $.get("getUsers_actions.php",
            function(data) {
                for (var key in data)
                {
                    result[idx++]=data[key];
                    console.log(data[key].login);
                }
            },
            "json");
            return result;
    }

出力は次のとおりです。

hissou
hbadri
user_1

しかし、結果を取得しようとするとget_users_request()、空の配列が与えられ[]ます。

4

3 に答える 3

0

これが結果を与えることができるものです。

 function get_users_request(s)
        {
            var s =new Array(), idx=0;
            $.ajax({
                url: "getUsers_actions.php",
                success: function(data){
                    $.each(data, function(k, v){
                        s[idx++] = v.login;
                        console.log(v.login);
                    })
                    },
                dataType: "json"
            });
            console.log(s);
        }
于 2013-08-14T10:53:40.873 に答える
-1

ループreturn result;の後に置く必要があります。for$.get 呼び出しが終了した後に、リターンを行う必要があります。$.get 呼び出しが開始された直後に戻り値にアクセスします。

于 2013-08-14T08:39:47.560 に答える