Creé una función de llamada API jQuery/ajax para leer los datos JSON e insertarlos en la tabla HTML y funciona bien, pero quiero recargar automáticamente los datos de la tabla después de 5 segundos cuando se hace clic en un botón.
Probé algunos códigos para que funcionara. ¿Cómo puedo arreglarlo?
$(document).ready(function() { $.getJSON("http://mydevtest.in/wp-json/pmprocurrencies/v1/all", function(data){ var currency_Data = ''; $.each(data, function(key, value){ currency_Data += '<tr>'; currency_Data += '<td>' + value.id + '</td>'; currency_Data += '<td>' + value.country_alpha + '</td>'; currency_Data += '<td>' + value.currency_code + '</td>'; currency_Data += '<td>' + value.currency_sign + '</td>'; currency_Data += '<td>' + value.currency_rate + '</td>'; currency_Data += '<td><button type="submit" id="delBtn" value="' + value.id + '">x</button></td>'; currency_Data += '</tr>'; }); $("#currency_tables").append(currency_Data); // Reload the table data on "#addcr" button click. $("#addcr").on("click", function(){ $("#currency_tables").load(location.href + " #currency_tables"); }); }); });Puede usar setTimeout(function,milliseconds) para esto. https://developer.mozilla.org/en-US/docs/Web/API/setTimeout
Entonces, pude encontrar la solución yo mismo, a continuación se muestra el código de trabajo, pero creo que no es la solución profesional repetir la misma función para lograr el resultado. Si alguien tiene una idea mejor, por favor sugiera.
$(document).ready(function() { $.getJSON("http://mydevtest.in/wp-json/pmprocurrencies/v1/all", function(data){ var currency_Data = ''; $.each(data, function(key, value){ currency_Data += '<tr>'; currency_Data += '<td>' + value.id + '</td>'; currency_Data += '<td>' + value.country_alpha + '</td>'; currency_Data += '<td>' + value.currency_code + '</td>'; currency_Data += '<td>' + value.currency_sign + '</td>'; currency_Data += '<td>' + value.currency_rate + '</td>'; currency_Data += '<td><button type="submit" id="delBtn" value="' + value.id + '">x</button></td>'; currency_Data += '</tr>'; }); $("#currency_tables").html(currency_Data); // Reload the table data on "#addcr" button click. }); $("#addcr").on("click", function(){ setTimeout(function(){ $.getJSON("http://mydevtest.in/wp-json/pmprocurrencies/v1/all", function(data){ var currency_Data = ''; $.each(data, function(key, value){ currency_Data += '<tr>'; currency_Data += '<td>' + value.id + '</td>'; currency_Data += '<td>' + value.country_alpha + '</td>'; currency_Data += '<td>' + value.currency_code + '</td>'; currency_Data += '<td>' + value.currency_sign + '</td>'; currency_Data += '<td>' + value.currency_rate + '</td>'; currency_Data += '<td><button type="submit" id="delBtn" value="' + value.id + '">x</button></td>'; currency_Data += '</tr>'; }); $("#currency_tables").replaceWith(currency_Data); // Reload the table data on "#addcr" button click. }); }, 4000) }); });