2016-09-22 8 views
2

は私が持っている疑問は、と、私は成功の機能のうち、それを使用することはできませんAjax呼び出しのうち、AJAX成功機能からの応答データを使用する方法

$.ajax({ 
     type: 'GET', 
     url: url, 
     dataType: 'json', 
     success: function (response) { 
      getData[name] = response; 

     } 
    }); 
alert(getData[name]); 

私の質問は、ajax呼び出しからgetDataを操作する方法です。

+1

可能性のある重複した[jQueryの:AJAX呼び出しの成功の後にデータを返す](http://stackoverflow.com/questions/5316697/jquery-return-data-after-ajax-call-success) – vaso123

+0

uは宣言することができますgetdata配列は、グローバルにスクリプトの開始を意味し、それは関数 –

答えて

4

を試してみてください。alert(getData[name]);バックグラウンドで要求を終了し、成功関数を呼び出します。

実際には、アラートは正常に機能する前に実行されます。 し、あなたがそれを行う前に、他の病棟では、任意のものを実行するために、AJAXない指示する必要がやりたいように設定さasync: false
あなたがアクセスできるようにAJAX範囲外で変数を宣言する必要が第二の事、それ外アヤックス

最終的なコードは次のようになります。

var getData; 
$.ajax({ 
     type: 'GET', 
     url: url, 
     dataType: 'json', 
     async: false, 
     success: function (response) { 
      getData[name] = response; 

     } 
    }); 
alert(getData[name]); 
+0

の外で利用可能になります。それだけが必要。 –

+0

'async:false'は他の場所にも書かれているように良い考えではありません –

1

変数getData [name]をajax呼び出しの上に宣言する必要があります。

var getData; 
$.ajax({ 
     type: 'GET', 
     url: url, 
     dataType: 'json', 
     success: function (response) { 
      getData[name] = response; 

     } 
    }); 
0

プロパティ「非同期:flase」を使用し、問題は、デフォルトではAjaxリクエストがAjaxが実行し、要求 を開始することを意味している非同期
であるということであるコードで、一度

0

AJAXは

非同期のJavaScriptの略d XML。

あなたがalertを呼び出すときAJAX呼び出しがgetData[name]が設定されていない理由です、終了していません。

成功コールバック内でalert(またはそれに関係なく)を呼び出す必要があります。

$.ajax({ 
    type: 'GET', 
    url: url, 
    dataType: 'json', 
    success: function (response) { 
     getData[name] = response; 
     alert(getData[name]); 
    } 
}); 
関連する問題