在javascript中访问对象属性
我写了这段代码,当我想访问对象属性时,它总是说未定义。谁能指出我的错误吗在javascript中访问对象属性,javascript,Javascript,我写了这段代码,当我想访问对象属性时,它总是说未定义。谁能指出我的错误吗 function readXML() { var xml=new XMLHttpRequest(); xml.open('GET','index.json',false); xml.send(); var xmlData=xml.responseText; document.getElementById("demo").innerHTML = xmlData.firstNam
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}
我记得我读过这篇文章,因为我试图使用它,您缺少一个简单的函数,称为请求的每个状态更改 编辑、修正功能 意识到您为
异步
选项设置了,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()
命令的正上方
每次更改请求状态时都会调用此函数,如果未收到200
的xml.status
,也可以修改此函数以给出错误,这意味着请求的页面已成功
这段代码是根据您的功能编辑的,摘自官方网站,用于记录PHP、JavaScript、JQueryJS等语言
第二辑
发现您的json格式不正确,值和键必须用“
或”
封装。下面是它的外观:
{“firstName”:“John”,“lastName”:“Smith”}
因此,您可以使用xmlData.firstName
或xmlData[“firstName”]
它们都做相同的事情
接下来,async
参数已被弃用,并且是完全异步的,因此您必须将xml.open()
更改为:
xml.open('GET','index.json');
最后,对于onreadystatechange
我修改了它以适合您的脚本,在我的上一个脚本中应用了上面的编辑
-----想看现场直播吗-----
我已经上传并更正了它,以适应您的功能,它工作正常,功能完整,未处理任何错误,下面是一个链接:
以下是源代码的链接:
最后,这里是JSON文件的外观:
我记得读过这篇文章,因为我试图使用它,您缺少一个简单的函数,名为请求的每个状态更改 编辑、修正功能 意识到您为
异步
选项设置了,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()
命令的正上方
每次更改请求状态时都会调用此函数,如果未收到200
的xml.status
,也可以修改此函数以给出错误,这意味着请求的页面已成功
这段代码是根据您的功能编辑的,摘自官方网站,用于记录PHP、JavaScript、JQueryJS等语言
第二辑
发现您的json格式不正确,值和键必须用“
或”
封装。下面是它的外观:
{“firstName”:“John”,“lastName”:“Smith”}
因此,您可以使用xmlData.firstName
或xmlData[“firstName”]
它们都做相同的事情
接下来,async
参数已被弃用,并且是完全异步的,因此您必须将xml.open()
更改为:
xml.open('GET','index.json')代码>
最后,对于onreadystatechange
我修改了它以适合您的脚本,在我的上一个脚本中应用了上面的编辑
-----想看现场直播吗-----
我已经上传并更正了它,以适应您的功能,它工作正常,功能完整,未处理任何错误,下面是一个链接:
以下是源代码的链接:
最后,这里是JSON文件的外观:
您解析过JSON吗JSON.parse()
?不,那是我的孔代码,有必要吗?因为它与这个代码文档一起工作;而不是document.getElementById(“demo”).innerHTML=xmlData.firstName+“”+xmlData.lastName;它显示了opject.index.json的洞似乎是json文件,而不是XML文件。wts文件的内容?Http请求通常返回一个字符串,然后您必须自己解析数据。请注意,JSON不是一个对象,它是一个对象的字符串表示。你在评论中说“works”的代码并不是你想的那样:它只是显示字符串。你解析过JSON了吗JSON.parse()
?不,那是我的孔代码,有必要吗?因为它与这个代码文档一起工作;而不是document.getElementById(“demo”).innerHTML=xmlData.firstName+“”+xmlData.lastName;它显示了opject.index.json的洞似乎是json文件,而不是XML文件。wts文件的内容?Http请求通常返回一个字符串,然后您必须自己解析数据。请注意,JSON不是一个对象,它是一个对象的字符串表示。你在评论中说“有效”的代码并没有做你想做的事情:它只是显示字符串。如果它在上面,它将如何显示数据?顺便说一句,我测试过,但它似乎不起作用,似乎我在将其转换为您的函数时出错,我将在几秒钟内发布编辑完成的函数。上面的答案应该是您正在寻找的。如果它超出了范围,它将如何显示数据?顺便说一句,我测试过,但它似乎不起作用,似乎我在将其转换为您的函数时出错,我将在几秒钟内发布编辑完成的函数。上面的答案应该是您正在寻找的。