如何修复此错误:无法读取Javascript中未定义的属性(读取"长度")



我是Javascript新手。为什么这个代码给我错误:Cannot read properties of undefined (reading 'length')?我之前曾尝试添加datasrc代码,但它不起作用。还有人有办法解决吗?

//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

}
}`

在你的代码中只有一个地方使用length:data.length在for循环中。

for (var i = 0; i < data.length; i++){

因此,解释器告诉I cannot read length of undefined因此data未定义,因此myArrayresponse.data未定义,您应该在

行设置断点
myArray = response.data

并查看响应中的内容,以及为什么它不包含密钥data

对于我来说,我还没有更新我的应用程序的API密钥。当我这样做了,问题就解决了。

最新更新