重用由$ .getJSON填充的JSON数据

时间:2015-04-21 08:17:04

标签: jquery json getjson

我有以下代码:

$.getJSON("jsonlesson.txt", function(json) {
    console.log("success");
    $.each(json.lessonjson, function(key1, val1) {
        $("#lessonid").append("<option value='" + val1.lessonkey + "'>" + val1.lessonval + "</option>");
    });
})
.done(function() {
    console.log("second success");
})
.fail(function() {
    console.log("error");
})
.always(function() {
    console.log("complete");
})
.error(function(error) {
    console.log(error);
});

是否可以重复使用由$ .getJSON填充的JSON数据?

我是否可以编写如下代码?

lessonArray = jQuery.grep(json.lessonjson, function(product, i) {
            return product.subjectkey == selectedsubject;

如何在另一个函数中重用JOSN的{​​{1}}数据?

2 个答案:

答案 0 :(得分:0)

您的代码应如下所示:

    $.getJSON("jsonlesson.txt", function(json) {
        console.log("success");
       lessonArray  = json.lessonjson;
//where this lessonArray is global variable.
$.each(json.lessonjson, function(key1, val1) {
            $("#lessonid").append("<option value='" + val1.lessonkey + "'>" + val1.lessonval + "</option>");
        });
    })
    .done(function() {
        console.log("second success");
    })
    .fail(function() {
        console.log("error");
    })
    .always(function() {
        console.log("complete");
    })
    .error(function(error) {
        console.log(error);
    });

然后您可以在整个页面上使用lessonArray变量。

答案 1 :(得分:0)

使用jQuery.JSON调用检索数据后,保存查询的数据,然后在内部函数中使用它们。

jQuery("#DOMdata").data(' element, key, value);

然后用这个检索它:

var myData = jQuery("#DOMdata").data(key);

storing json as variable for reuse within another function