0
var path_data = path+"?q=map/get_data/"+param1+'/' +param2+'/'+param3+'/' +param4+'/' +param5;
var path_map_center = path+"?q=map/get_center/"+param1;

$.getJSON(path_map_center, function(data) {
   center_lati = data.lati;
   center_longi = data.longi;
});

//center_lati center_longiコードの次の行に移動する前に、 が割り当てられていることを確認する方法。基本的に上記の実行まで待つ方法。

4

1 に答える 1

2

ajax ベースのシステムでは、非同期開発に従うことをお勧めします。つまり、ajax 呼び出しによって返されたデータを操作する必要があるすべてのコードを、それぞれのコールバック メソッドに追加する必要があります。

var path_data = path + "?q=map/get_data/" + param1 + '/' + param2 + '/' + param3 + '/' + param4 +'/' + param5;
var path_map_center = path + "?q=map/get_center/" + param1;

$.getJSON(path_map_center, function(data) {
    var center_lati = data.lati;
    var center_longi = data.longi;
    //all code that need to work with center_lati and center_longi should be added here 
});
// do no put any ode that need to work with center_lati and center_longi should be added here 

それでも非同期モードを使用する予定がない場合は、asyncオプションを使用してください

var path_data = path + "?q=map/get_data/" + param1 + '/' + param2 + '/' + param3 + '/' + param4 + '/' + param5;
var path_map_center = path + "?q=map/get_center/" + param1;

$.ajax({
    url: path_map_center,
    dataType: 'json',
    type: 'GET',
    async: false,
    success: function (data) {
        center_lati = data.lati;
        center_longi = data.longi;
    }
})
于 2013-09-07T15:20:39.543 に答える