Buenas, quiero hacer una consulta por aquí, a modo de curiosidad. El código que tengo funciona, pero originalmente fallaba y no sé por qué.
Hago una petición normal por ajax a una serie de datos, los cuales, al ser recibidos, los inserto por filas en una tabla. El código original es el siguiente:
$.ajax({
url: url_de_datos,
dataType: 'json',
success: function( response ) {
$("#historytable tbody").empty();
var tableData = response;
$.each(tableData, function(k, v) {
$("#historytable tbody").append("<tr><td>"+v.username+"</td><td title='a las "+v.hour+"'>"+v.day+"</td><td>"+v.description+"</td></tr>");
});
}
});
Aparentemente es correcto, pero creo que "lo hace tan rápido" que la tabla sigue vacía :\ , sin embargo, si meto ese each con un setTimeout sí que funciona
$.ajax({
url: url_de_datos,
dataType: 'json',
success: function( response ) {
$("#historytable tbody").empty();
var tableData = response;
setTimeout(function(){
$.each(tableData, function(k, v) {
$("#historytable tbody").append("<tr><td>"+v.username+"</td><td title='a las "+v.hour+"'>"+v.day+"</td><td>"+v.description+"</td></tr>");
});
},100);
}
});
Por qué ocurre esto? o es que tengo incompleto el código 1?