我从数据库中读取数据作为json对象。还将该数据带到另一个页面,我要在该页面上显示该数据,但是问题出在显示数据上。

这是我显示数据的代码:
请检查代码中的注释!!!

var xmlhttp = new XMLHttpRequest();

    xmlhttp.onreadystatechange = function () {
        if (this.readyState == 4 && this.status == 200) {

            object = JSON.stringify(this.responseText);
            console.log(object);


            console.log(object);
            //console.log(object['data'][0]['title']); ERROR

            object2 = JSON.parse(object)
            console.log(object2);
            //console.log(object2['data'][0]['title']); ERROR
            console.log(object2.title); //here  ENDEFINED




            objectParsed = JSON.parse(
                '{"ID":"1","type":"zima","title":"skijanje","description":"Lorem ipsum dolor sit amet,sed diam voluptua.","people":"From 2 to 8","available":"From November to February","price":"From 350 to 500","numTaken":"0"}'
            );

            console.log(objectParsed);
            console.log(objectParsed.title); // here I got the right ouput which is SKIJANJE

            //document.getElementById("test").innerHTML = object.title;
        }
    };
    xmlhttp.open("GET", "readTourData.php", true);
    xmlhttp.send();


这是我从“readTourData”获得的数据
javascript - 从数据库输出获取的json数据-LMLPHP

最后,这是我尝试显示数据时的输出:
javascript - 从数据库输出获取的json数据-LMLPHP

变量对象看起来像这样(console.log(object)):javascript - 从数据库输出获取的json数据-LMLPHP

我从数据库获得的数据:
数据:[{ID:“1”,类型:“zima”,标题:“skijanje”,…}]

0
:
{ID:“1”,键入:“zima”,标题:“skijanje”,…}
ID
:
“1”
有空
:
“从十一月到二月”
描述
:
“Lorem ipsum dolor坐下来,坐下来。”
numTaken
:
“0”

:
“从2到8”
价钱
:
“从350到500”
标题
:
“skijanje”
类型
:
“泽玛”

控制台输出:

-第一个控制台-> console.log(object):
“\ r \ n数据:[{\” ID \“:\” 1 \“,\”类型\“:\” zima \“,\”标题\“:\” skijanje \“,\”描述\“:\“Lorem ipsum dolor坐下,\” \“人\”:\“从2到8 \”,\“可用\”:\“从11月到2月\”,\“价格\ “:\”从350到500 \“,\” numTaken \“:\” 0 \“}] \ r \ n \ r \ n”

-第二个控制台-> console.log(object2):
数据:[{“ID”:“1”,“type”:“zima”,“title”:“skijanje”,“description”:“Lorem ipsum dolor sit amet,”,“people”:“从2到8”,“可用”:“从11月到2月”,“价格”:“从350到500”,“numTaken”:“0”}]

-第三个控制台-> console.log(object2.title):
未定义

-第四个控制台-> console.log(objectParsed):
{ID:“1”,类型:“zima”,标题:“skijanje”,描述:“Lorem ipsum dolor sit amet,sed diam voluptua。”,使用者:“从2到8”,…}
ID
:
“1”
有空
:
“从十一月到二月”
描述
:
“Lorem ipsum dolor坐下来,坐下来。”
numTaken
:
“0”

:
“从2到8”
价钱
:
“从350到500”
标题
:
“skijanje”
类型
:
“泽玛”
原型(prototype)
:
目的

-和最后一个控制台-> console.log(objectParsed.title):
斯基扬耶

最佳答案

问题是没有object.title
object对象似乎是一个数组。

数组中的每个对象似乎都有一个title属性。

因此,您应该可以使用类似object[0].titleobject[0]['title']的方法访问数组中第一个对象的标题。

打印出对象以查看所有此类嵌套通常很有帮助,例如

console.log(JSON.stringify(object,null,1));

这样,您将需要访问data属性以及该属性的外观,这将更加清楚。

09-25 18:05
查看更多