1

I'm trying to get some data from server which is in JSON format. I want to show them in a table that is dynamically created. When I run this code, no errors appear and also it gets data correctly but it shows nothing in the table. I think there is a running priority issue but I don't know how to fix it.

$.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();
});
Hos Ap
  • 1,168
  • 2
  • 11
  • 24

1 Answers1

0

TRy this: you are executing a asinc call you need to append the html when the call is completed

 $.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();

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

    });
madalinivascu
  • 32,064
  • 4
  • 39
  • 55