Soy nuevo en Javascript. ¿Por qué este código me da el error: Cannot read properties of undefined (reading 'length') ? He intentado agregar el código datasrc antes pero no funciona. ¿Alguien más tiene una idea de cómo solucionarlo?
//implement css in this files import './style.css'; //jquery already imported import $ from 'jquery'; // ajax to load // do table data binding here using data from variable resultArr var myArray = [] $.ajax({ method:'GET', url:'https://www.seetrustudio.com/data.php', success:function(response){ myArray = response.data buildTable(myArray) console.log(myArray) } }) function buildTable(data){ var table = document.getElementById('myTable') for (var i = 0; i < data.length; i++){ var row = `<tr> <td>${data[i].date}</td> <td>${data[i].weather}</td> <td>${data[i].temperature}</td> <td>${data[i].temp_unit}</td> </tr>` table.innerHTML += row } }`Hay un único lugar en su código donde se usa la length : data.length en for loop.
for (var i = 0; i < data.length; i++){ Entonces, el intérprete dice I cannot read length of undefined , por lo tanto, data no están definidos, por lo tanto, myArray y response.data no están definidos y debe establecer un punto de interrupción en línea
myArray = response.data y ver qué hay en la respuesta y por qué no contiene los data clave.
Para mí, no he actualizado la clave API para mi aplicación. Cuando lo he hecho, el problema está resuelto.