getJSON 运行 优先级

getJSON running priority

我正在尝试从服务器获取一些 JSON 格式的数据。我想在动态创建的 table 中显示它们。当我 运行 这段代码时,没有出现错误,而且它也正确获取数据,但它在 table 中没有显示任何内容。我认为存在 运行ning 优先级问题,但我不知道如何解决它。

$.getJSON(getUrlPizza, function(result) {
    keepGetData = result;
    var j, k = 0;
    $.each(keepGetData, function(i, field) {
        getUrlSize = urlSize + "/" + keepGetData[i].id;
        $.getJSON(getUrlSize, function(resultS) {
            size = resultS;
            $.each(size, function(s, fieldS) {
                sizes[k] = size[s];
                console.log(sizes[k]);
                k++;
                ///////
                ////// Create Table
                /////
                out += "<tr><td>" +
                    keepGetData[i].name +
                    "</td><td>" +
                    fieldS.size1.name +
                    "</td><td>" +
                    fieldS.price +
                    "</td><td>" +
                    "<button onclick='edit(this)'>Edit</button></td><td>" +
                    "<button onclick='removeItem(this)'>Remove</button></td></tr>";
                //////
                /////
                ////
            });
        });
    });
    out += "</table>";
    document.getElementById("drinkConDiv").innerHTML = out;
    $("#add").show();
    $("#back").show();
});

试试这个:你正在执行一个 asinc 调用你需要在调用完成时附加 html

 $.getJSON(getUrlPizza, function(result){
        keepGetData = result;
        var j,k =0;
        $.each(keepGetData, function(i,field){
        getUrlSize = urlSize + "/" + keepGetData[i].id;
        $.getJSON(getUrlSize, function(resultS){
            size = resultS;
            $.each(size, function(s,fieldS){
                sizes[k] = size[s];
                console.log(sizes[k]);
                k++;
                ///////
                ////// Create Table
                /////
                out +=  "<tr><td>"+ keepGetData[i].name + "</td><td>"+ 
                        fieldS.size1.name + "</td><td>"+  
                        fieldS.price + "</td><td>"+ 
                        "<button onclick='edit(this)'>Edit</button></td><td>"+
                        "<button onclick='removeItem(this)'>Remove</button></td></tr>";

                        $"#drinkConDiv").html("<table>"+out+"</table>");
                        $("#add,#back").show();

                //////
                /////
                ////
            });
        });
        });

    });