Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中访问对象属性_Javascript - Fatal编程技术网

在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不是一个对象,它是一个对象的字符串表示。你在评论中说“有效”的代码并没有做你想做的事情:它只是显示字符串。如果它在上面,它将如何显示数据?顺便说一句,我测试过,但它似乎不起作用,似乎我在将其转换为您的函数时出错,我将在几秒钟内发布编辑完成的函数。上面的答案应该是您正在寻找的。如果它超出了范围,它将如何显示数据?顺便说一句,我测试过,但它似乎不起作用,似乎我在将其转换为您的函数时出错,我将在几秒钟内发布编辑完成的函数。上面的答案应该是您正在寻找的。