如何在全局变量中保存getJson的响应?

时间:2016-05-19 10:57:11

标签: javascript jquery ajax getjson

我想创建$ .getJSON请求结果的全局变量。如果我在下面的代码中执行此操作,则会收到 undefined 消息。

这是我的.js代码:

      var test = $.getJSON("dropdown_code/get_tables.php", success = function(data)
    {
        var options = "";
    for(var i = 0; i < data.length; i++)
        {
            options += "<option value='" + data[i] + "'>" + data[i] + "</option>";
        }

    $("#slctTable").append(options);
    $("#slctTable").change();
    return data;
}); 

console.log(test);

$("#slctTable").change(function()
{
$.getJSON("dropdown_code/get_fields.php?table=" + $(this).val(), success = function(data)
    {
        var options = "";
    for(var i = 0; i < data.length; i++)
        {
            options += "<option value='" + data[i] + "'>" + data[i] + "</option>";
        }
    $("#slctField").html("");
    $("#slctField").append(options);
    $("#slctField").change();
    return data;
});    
});
}); 

2 个答案:

答案 0 :(得分:1)

    var tableList = $.getJSON("dropdown_code/get_tables.php", success = function(data)
                        {
                            var options = "";
                        for(var i = 0; i < data.length; i++)
                            {
                                options += "<option value='" + data[i] + "'>" + data[i] + "</option>";
                            }

                        $("#slctTable").append(options);
                        $("#slctTable").change();
                        return data;
                    }); 
     console.log(tablelist);

答案 1 :(得分:0)

浏览器执行时

   console.log(tableList); 

尚未分配。

您只能在执行此行

后打印它
tableList=data;