ajaxでjsonを取得しグローバル変数へ格納(javascript ajax jquery)

ajaxでjsonを取得しグローバル変数へ格納する方法のメモです.

$(function(){
    var results;
    $.ajax({
        type: "GET",
        url: url,
        data: data,
        dataType: "json",
        timeout: 120000,
        error: errorHandlier,
        success: function(r){
            results = r.data;
        }
    });
    setTimeout(function(){
        if(results != null){
            /* whatever you want to do using the results */
        }
        else{
            setTimeout(arguments.callee, 100);
        }
    }
});

同期通信を用いた方法も紹介されていました.

var hoge
    function setPreference(){
        $.ajaxSetup({async: false});//同期通信(json取ってくるまで待つ)
        $.getJSON("preference.json", function(data){
            hoge = data.param;
        });
        $.ajaxSetup({async: true});
    }

しかし,setTimeoutを使う方が安定しているように感じます.

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中