让AJAX"获取"功能同步/如何获得结果?

Dio*_*lor 16 javascript ajax jquery get

我遇到了$ .get函数的问题.该网址包含JSON

我的代码:

 xyz = null

    $.get('http://www.someurl.com/123=json', function(data) {
       var xyz = data.positions[0].latitude;
    });

alert(xyz);
//some more code using xyz variable
Run Code Online (Sandbox Code Playgroud)

我知道这xyz将提醒null结果,因为它$.get异步的.

那么有什么方法可以使用xyz外部这个获取功能?

Hac*_*ese 23

get是一种捷径.您可以使用以下命令执行相同操作:

var xyz = null


$.ajax({ url: 'http://www.someurl.com/123=json', 
         async: false,
         dataType: 'json',
         success: function(data) {
              xyz = data.positions[0].latitude;
            }
        });


alert(xyz);
Run Code Online (Sandbox Code Playgroud)

但是,您必须xyz在ajax调用之前声明变量.


gdo*_*ica 7

真正的答案是否定的,但你可以使用这个:

function useXYZ(){
    alert(xyz);
}

xyz = null        

$.get('http://www.someurl.com/123=json', function(data) {
   xyz = data.positions[0].latitude;
   useXYZ();
});
Run Code Online (Sandbox Code Playgroud)