提问者:小点点

jQuery getJSON将结果保存到变量[duplicate]中


我使用getJSON从我的网站请求一个JSON。它工作得很好,但我需要将输出保存到另一个变量中,如下所示:

var myjson= $.getJSON("http://127.0.0.1:8080/horizon-update", function(json) {

                 });

我需要将结果保存到myJSON中,但似乎这种语法不正确。有什么想法吗?


共2个答案

匿名用户

调用getJSON时无法获取值,只有在响应之后才能获取值。

var myjson;
$.getJSON("http://127.0.0.1:8080/horizon-update", function(json){
    myjson = json;
});

匿名用户

$.getJson需要一个回调函数,您可以将它传递给回调函数,也可以在回调函数中将它分配给全局变量。

var globalJsonVar;

    $.getJSON("http://127.0.0.1:8080/horizon-update", function(json){
               //do some thing with json  or assign global variable to incoming json. 
                globalJsonVar=json;
          });

IMO最好是调用回调函数。这对眼睛更好,可读性更强。

$.getJSON("http://127.0.0.1:8080/horizon-update", callbackFuncWithData);

function callbackFuncWithData(data)
{
 // do some thing with data 
}