我从数据库中读取数据作为Json对象。我还将这些数据带到另一个页面,在那里我想展示这些数据,但问题在于如何展示这些数据。
以下是我展示数据的代码: 请检查代码中的注释!!!
以下是从“readTourData”获取的数据:
最后,这是我尝试显示数据时的输出:
变量对象看起来像这样(console.log(object)):
我从数据库中得到的数据:
data: [{ID: "1", type: "zima", title: "skijanje",…}]
0:
{ID: "1", type: "zima", title: "skijanje",…}
ID:
"1"
available:
"From November to February"
description:
"Lorem ipsum dolor sit amet,sed diam voluptua."
numTaken:
"0"
people:
"From 2 to 8"
price:
"From 350 to 500"
title:
"skijanje"
type:
"zima"
控制台输出:
--第一个控制台--> console.log(object): "\r\n data:[{\"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\"}] \r\n\r\n"
--第二个控制台--> console.log(object2): data:[{"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(object2.title): 未定义
--第四个控制台--> console.log(objectParsed): {ID:“1”,类型:“zima”,标题:“skijanje”,描述:“Lorem ipsum dolor sit amet,sed diam voluptua。”,人们:“从2到8”,…} ID: “1” available: “From November to February” description: “Lorem ipsum dolor sit amet,sed diam voluptua.” numTaken: “0” people: “From 2 to 8” price: “From 350 to 500” title: “skijanje” type: “zima” proto : Object
最后一个控制台--> console.log(objectParsed.title): Skijanje
以下是我展示数据的代码: 请检查代码中的注释!!!
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();
控制台输出:
--第一个控制台--> console.log(object): "\r\n data:[{\"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\"}] \r\n\r\n"
--第二个控制台--> console.log(object2): data:[{"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(object2.title): 未定义
--第四个控制台--> console.log(objectParsed): {ID:“1”,类型:“zima”,标题:“skijanje”,描述:“Lorem ipsum dolor sit amet,sed diam voluptua。”,人们:“从2到8”,…} ID: “1” available: “From November to February” description: “Lorem ipsum dolor sit amet,sed diam voluptua.” numTaken: “0” people: “From 2 to 8” price: “From 350 to 500” title: “skijanje” type: “zima” proto : Object
最后一个控制台--> console.log(objectParsed.title): Skijanje
title
属性之前,请先访问数组元素。另外,为什么要将responseText
转换为字符串,它已经是一个字符串了吗? - CertainPerformanceJSON.parse()
之后还是之前记录日志的?你得到了什么日志输出?仅仅说“不起作用”无法帮助我们理解问题。 - Raeesaa