gpt4 book ai didi

javascript - 在 JavaScript 中访问对象属性

转载 作者:行者123 更新时间:2023-11-28 06:18:30 26 4
gpt4 key购买 nike

我编写了这段代码,当我想访问对象属性时,它一直显示未定义。谁能指出我的错误。

error msg pic

function readXML()
{
var xml=new XMLHttpRequest();
xml.open('GET','index.json',false);
xml.send();
var xmlData=xml.responseText;
document.getElementById("demo").innerHTML =
xmlData.firstName + " " + xmlData.lastName;


}

json 文件

{firstName:"John", lastName:"Doe", age:20}

最佳答案

我记得读过这个,因为尝试使用它,你缺少一个简单的函数,称为请求的每个状态更改

编辑、更正函数

意识到您为 async 选项设置了 ,false),它已被弃用并且不再受支持,因此此功能是强制性的。

    xml.onreadystatechange = function()
{
if (xml.readyState == 4 && xml.status == 200)
{
var xmlData = JSON.parse(xml.responseText);
document.getElementById("demo").innerHTML = xmlData.firstName + " " + xmlData.lastName;
}
};

此代码位于 xml.open() 命令的正上方。

每次请求状态发生变化时都会调用此函数,如果您没有收到 200xml.status ,您也可以修改它以给出错误>,表示请求页面成功。

此代码片段经过编辑以适合您的功能,从官方网站获取,用于记录 PHP、JavaScript、JQueryJS 等语言。

http://www.w3schools.com/json/json_http.asp

编辑编号2

发现您的 json 格式不正确,值和键必须用 "' 括起来。它应该是这样的:

{"firstName":"约翰","lastName":"史密斯"}

从中您可以使用xmlData.firstNamexmlData["firstName"]它们都做同样的事情。

接下来,async 参数已被弃用,并且是完全异步的,因此您必须将 xml.open() 更改为:

xml.open('GET','index.json');

最后,对于 onreadystatechange,我修改了它以适合您的脚本,该编辑已应用到我之前的脚本中。

-----想现场观看吗? -----

我已上传并更正它以适合您的功能,它可以正常工作并且功能齐全,没有处理任何错误,这是一个链接:

http://js.x10.bz/helpstack/35739016/main.html

这是源代码的链接:

http://js.x10.bz/helpstack/35739016/main.txt

最后,JSON 文件应如下所示:

http://js.x10.bz/helpstack/35739016/index.json

关于javascript - 在 JavaScript 中访问对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35739016/

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