0

すごく簡単なことをしたいのですが、やり方がわかりません...

単純な ajax 呼び出しを使用して json データを取得していますが、ajax の回答後にそれらのデータを操作したいと思います...

いろいろやってみたのですが、まだやり方がわかりません…

私が言ったように、私のコードは単純です:

var res;
$.ajax({
    type: "GET",
    url: url,
    dataType: 'json',
    success: function(data){
        console.log(data);
        res = data;
    }
});
console.log(res);
// do things with res here...

答えは簡単だと思います...

ヒントをありがとう。

4

3 に答える 3

2

AJAX は非同期です。つまり、サーバーから受信したデータを操作する唯一の安全な場所は、次のように成功のコールバック内です。

$.ajax({
    type: "GET",
    url: url,
    dataType: 'json',
    success: function(data) {
        // do things with data here...
    }
});

AJAX を使用する場合は、コードの各行が次々に実行されるシーケンシャル プログラミングの観点から考えるのをやめ、非同期コールバックの観点から考える必要があります。そして、このモデルを尊重するようにコードを編成してください。

于 2013-08-14T12:17:35.733 に答える
0

successたとえば、コールバック関数でデータをループするだけです。

success: function(data){
    $.each(data, function(k, v){
        // k represents each key and v represents each value here
        console.log(k + '=' + v);
    });
}

デモ。

于 2013-08-14T12:20:55.327 に答える
0

success関数では、受信したデータを解析して文字列からオブジェクトに変換する必要があります。このように、データを使用できます。

function myFunctionForJsonData(data) {
    // ...
}

$.ajax({
    type: "GET",
    url: url,
    dataType: 'json',
    success: function(data){
        console.log(data);
        var dataJson = $.parseJSON(data);
        myFunctionForJsonData(dataJson);
    }
});
于 2013-08-14T12:22:16.253 に答える