Soy nuevo en el desarrollo web y he estado probando la creación de tablas con datos de diferentes API, pero me he encontrado con un problema con una respuesta que tiene claves numéricas dentro del objeto.
Obtengo la respuesta para mostrar en el registro, pero no puedo obtener los datos en una tabla.
Reutilicé el código de una prueba anterior (que fue exitosa), pero en esta prueba las claves son numéricas. Aquí está la respuesta:
{"345017":"Simo","345019":"Simola","345020":"email","360241":"This is a comment","360858":"CEO","360859":"Test Company AS","360895":"Mr.","362692":"Football"}Y aquí está el código que he reutilizado de la prueba exitosa anterior:
window.onload=function(){ document.getElementById('button').addEventListener('click', loadRest); function loadRest() { window.onload=function(){ document.getElementById('button').addEventListener('click', loadRest); function loadRest() { var myArray = [] buildTable(myArray) $.ajax({ method: 'GET', url: '(url here)', Accept: 'application/json', beforeSend: function (xhr) { xhr.setRequestHeader('Authorization', 'Bearer (token here)'); }, success:function(response){ myArray = response buildTable(myArray) console.log(myArray) } }) function buildTable(object){ var table = document.getElementById('myTable') { for (var i = object; i < object.length; i++){ var row = `<tr> <td>${object[i][345017]}</td> <td>${object[i][345019]}</td> <td>${object[i][345020]}</td> <td>${object[i][360241]}</td> <td>${object[i][360858]}</td> <td>${object[i][360859]}</td> <td>${object[i][360895]}</td> <td>${object[i][362692]}</td> </tr>` table.innerHTML += row } }}}} Las diferencias entre este y el exitoso es que el exitoso tenía letras como claves, por ejemplo <td>${items[I].name}</td> y que era una matriz en lugar de un objeto.
Cualquier ayuda sería apreciada.
puedes probar este codigo
function buildTable(obj){ var table = document.getElementById('myTable'); Object.keys(obj).forEach((prop) => { var row = `<tr> <td>${obj[prop]}</td> </tr>` table.innerHTML += row }); }resultado
Simo Simola email This is a comment CEO Test Company AS Mr. Football