我从数据库中读取数据作为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”获得的数据
最后,这是我尝试显示数据时的输出:
变量对象看起来像这样(console.log(object)):
我从数据库获得的数据:
数据:[{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].title
或object[0]['title']
的方法访问数组中第一个对象的标题。
打印出对象以查看所有此类嵌套通常很有帮助,例如
console.log(JSON.stringify(object,null,1));
这样,您将需要访问
data
属性以及该属性的外观,这将更加清楚。