gpt4 book ai didi

javascript - 未捕获的类型错误 : Cannot read property 'name' of undefined at XMLHttpRequest. xmlhttp.onload

转载 作者:行者123 更新时间:2023-11-30 09:24:29 24 4
gpt4 key购买 nike

 function digiLevel() {
document.getElementById("digivice").innerHTML = "Loading...";

var xmlhttp = new XMLHttpRequest();
xmlhttp.onload = function() {
if (xmlhttp.status == 200) {
var textBox = document.getElementById("digivice");

var output1 = "";
var output2 ="";
var output3 = "";
var digimon = xmlhttp.responseText;

console.dir(digimon);
digimon = JSON.parse(digimon);
console.dir(digimon);

output1 = "<ul>";
for (i = 0; i < 6; i++) {
output2 += "<li>" + digimon[i].name + " is a(n) " + digimon[i].level + "</li><br>";
}
output3 = "</ul>";

textBox.innerHTML = output1 + output2 + output3;
}
}
xmlhttp.open("GET", "http://ec2-54-158-64-221.compute-1.amazonaws.com/Challenge9/webService.php?content=data&format=json", true);
xmlhttp.send();
}

它在行中返回 Uncaught TypeError

 output2 += "<li>" + digimon[i].name + " is a(n) " + digimon[i].level + "</li><br>";

我不明白“名称”是如何未定义的?也许我只是瞎了眼;现在是凌晨 1 点。

编辑:

感谢指导意见;我能够找到我的错误:

即使有索引变量,digimon 本身也没有自己的名称标签,所以我通过

访问了名称标签
    digimon.digivice.digimon[i].name

将 digimon 返回控制台以分析其内容后。我对使用 JSON/XML 还是个新手,所以如果有更快/更有效/更有效的方法来实现相同的结果,请告诉我!

最佳答案

And it returns the Uncaught TypeError on the line

 output2 += "<li>" + digimon[i].name + " is a(n) " + digimon[i].level + "</li><br>";

不确定为什么要将 for 循环硬编码为

for (i = 0; i < 6; i++) { //where is 6 coming from

看起来在迭代过程中的某处,digimon[i] 不存在(未定义),因此将您的 for 循环条件设置为

for (i = 0; i < digimon.length; i++) { //where is 6 coming from

关于javascript - 未捕获的类型错误 : Cannot read property 'name' of undefined at XMLHttpRequest. xmlhttp.onload,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49726438/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com