我正在使用jQuery从服务器获取数据。数据即将到来。这就是我在做什么
$.ajax({
url: "EventCalendar_Review",
dataType: "json",
success: function(data) {
console.log(data);
var a = data.eventTitle;
var b = data.fromDate;
var c = data.toDate;
var d = data.url;
}, //end of success
complete: function(request, textStatus) {
var req = request;
var status = textStatus;
} //end of complete
}); //end of .ajax
数据变量的数据采用JSON格式,如此
[object{ eventId=1, eventTitle="Khan to hold maide", fromDate="2012-03-06", toDate= "2012-03-07" more...}, Object { eventId=2, eventTitle="India tie not about revenge", fromDate="2012-03-06", more..}, ...]
数据正在控制台中打印。但是当我在console.log(数据)下面使用时
console.log(data);
var a = data.eventTitle;
var b = data.fromDate;
var c = data.toDate;
var d = data.url;
然后我得到a,b,c和d undefined。一个sholud得到eventTitle的价值(汗可以控制maide)等等。为什么我得到了未定义?
由于
答案 0 :(得分:0)
假设像这样的使它成为一个有效的JSON对象(http://jsonlint.com),那么你就有了一个对象数组:
for (var i=0;i<data.length;i++) {
var thisOne = data[i];
var a = thisOne.eventTitle;
var b = thisOne.fromDate;
var c = thisOne.toDate;
var d = thisOne.url;
// do something with these variables.
}
如果您只想要第一个对象,可以使用data[0]
来访问它:
var a = data[0].eventTitle;
var b = data[0].fromDate;
var c = data[0].toDate;
var d = data[0].url;
答案 1 :(得分:0)
看起来你回来了。如果您尝试按索引访问数据,该怎么办:
var a = data[0].eventTitle;
var b = data[0].fromDate;
var c = data[0].toDate;
var d = data[0].url;
答案 2 :(得分:0)
因为您的JSON无效!
JSON不使用=
它使用:
!!
"key":"value"
而不是"key"="value"
好像你也没有收到服务器上的JSON对象
您正在收到一系列对象!!