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

How to save the response of a getJson in a global variable?

本文关键字:保存 存在 全局变量 响应 getJson      更新时间:2023-09-26

我想为$.getJSON请求的结果创建一个全局变量。如果我像下面的代码中那样做,我会得到一条未定义的消息。

这是我的.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;
});    
});
}); 
    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);

当浏览器执行时

   console.log(tableList); 

它还没有分配。

只有在执行完这行后才能打印

tableList=data;