我在 jQuery 中返回一个带有 Ajax 调用的 JSON 字符串,我想使用 jqPlot 将该数据泵入条形图中。
我从另一个 Stack-Overflow 帖子中获得了 JSON 转换代码,但不明白为什么这不起作用。我的代码:
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
data: JSON.stringify(DTO), //JSON.stringify(AnDParms), combined,
url: "GetAdmitsDischarges.asmx/GetAandD",
dataType: "json",
success: function (data) {
//do chart stuff here.
var line1 = [];
for (var prop_name in data.d) {
line1.push([prop_name, data[prop_name]])
}
var ticks = ['Admits', 'Discharges'];
var plot1 = $.jqplot('chartdiv', [line1], {
title: 'Admits & Discharges',
series: [{ renderer: $.jqplot.BarRenderer}],
axesDefaults: {
tickRenderer: $.jqplot.CanvasAxisTickRenderer
},
axes: {
xaxis: {
renderer: $.jqplot.CategoryAxisRenderer
}
}
});
//to prove the flow is working...
//alert("Data: " + data.d);
}, //end of success
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus + ' ' + errorThrown + ' ' + XMLHttpRequest);
} //end of error
}); //end of ajax call
在 Firebug 中,line1 的值是(从 0 到 32):
[[“0”,未定义],[“1”,未定义],...[“31”,未定义],[“32”,未定义]]
而数据的价值是:
对象 { d="{"Admits":"35","Discharges":"36"}" }
谢谢你尽你所能的帮助...