jquery在javascript变量中存储来自url的json对象

时间:2014-07-18 05:08:07

标签: javascript jquery json

如何使用.getJSON()函数将json对象保存为javascript变量?

var js = 
$.getJSON(url, 
    function(data) {...}
);

我需要function(data) {...}回调吗?

var看起来像普通的json格式(就像python中的字典一样?)

{"query":{"count":1,"created":"2014-07-18", ...

2 个答案:

答案 0 :(得分:4)

您需要先声明变量,然后在成功函数中指定值:

var js;
$.getJSON(url, 
    function(data) {
        js = data;
        // or use your data here by calling yourFunction(data);
    }
);

修改

如果您的代码看起来如下所示,那么它可能无法工作:

var js;
$.getJSON(url, 
    function(data) {
        js = data;
        // or use your data here by calling yourFunction(data);
    }
);
$("div").html(js);

那是因为$.getJSON()是一个异步函数。这意味着下面的代码将继续执行而无需等待$ .getJSON完成。相反,您可能希望在成功函数中使用变量:

var js;
$.getJSON(url, 
    function(data) {
        // the code inside this function will be run,
        // when the $.getJSON finishes retrieving the data
        js = data;
        $("div").html(js);
    }
);

答案 1 :(得分:0)

假设您希望在javascript变量中收到data返回的$.getJSON

var js;

$.getJSON(url, function(data) {
    js = data;
    // you can even pass data as parameter to your target function like myFunct(data);
});