【发布时间】:2024-01-15 22:37:01
【问题描述】:
一段时间以来,我一直在尝试完成这项工作,但我似乎无法找到完成这项工作的解决方案。
我可以毫无问题地使用我的 Coldfusion CFC 输出 JSON,而不是我试图将此 JSON 与 Highcharts.js 一起使用。我已经验证 JSON 是有效的,但 highcharts 似乎有问题,因为在系列数据中,数据周围有双引号。我到处寻找解决方案,但似乎找不到任何可以让我走上正确道路的帮助。如果我从 series.data 中的数组周围删除双引号,则图表可以正常加载,但我远离它是动态的。
这是我的 CFC 的 JSON 输出:`
{
"series": [{
"data": "[[Date.UTC(2017,05,21),2.9],[Date.UTC(2017,05,28),2.9],[Date.UTC(2017,06,04),3.1],[Date.UTC(2017,06,11),2.9]]",
"name": "ATC Main Pod A - B - C"
}, {
"data": "[[Date.UTC(2017,05,21),2.8],[Date.UTC(2017,05,28),2.6],[Date.UTC(2017,06,04),2.9],[Date.UTC(2017,06,11),2.9]]",
"name": "ATC Mays (ACB Blue)"
}, {
"data": "[[Date.UTC(2017,05,21),2.4],[Date.UTC(2017,05,28),2.6],[Date.UTC(2017,06,04),3],[Date.UTC(2017,06,11),3.2]]",
"name": "ATC Mays (ACB Purple)"
}, {
"data": "[[Date.UTC(2017,05,21),3.3],[Date.UTC(2017,05,28),3.3],[Date.UTC(2017,06,04),3.4],[Date.UTC(2017,06,11),3.3]]",
"name": "ATC R10 Pod D"
}, {
"data": "[[Date.UTC(2017,05,21),3.3],[Date.UTC(2017,05,28),3.4],[Date.UTC(2017,06,04),2.8],[Date.UTC(2017,06,11),1.9]]",
"name": "ATC TU Pod A - B"
}, {
"data": "[[Date.UTC(2017,05,21),2.9],[Date.UTC(2017,05,28),2.9],[Date.UTC(2017,06,04),3.1],[Date.UTC(2017,06,11),3.4]]",
"name": "CTRC 1st Floor"
}, {
"data": "[[Date.UTC(2017,05,21),2.9],[Date.UTC(2017,05,28),3.3],[Date.UTC(2017,06,04),3.2],[Date.UTC(2017,06,11),2.3]]",
"name": "CTRC 2nd Floor"
}]
}
这是我的 ajax 调用的样子:
function loadChartData(c){
$.ajax({type: "POST", url: "CFCs/survey.cfc", data: {method:"results_RLU", CENTERID: c},dataType: 'json',success: function(data){
options.series = data.series
var chart = new Highcharts.Chart(options)
}
});
}
【问题讨论】:
-
如果您按 F12,javascript 控制台中是否有任何错误?
-
看起来您的
data属性本身就是一个字符串,采用 JSON 格式。您必须通过它们并在这些值上调用 JSON.parse。 -
@mkaatman,控制台中没有错误。
-
解决它的正确方法是在后端工作以将其作为数组而不是字符串返回。如果你不能这样做,请使用你得到的答案。
标签: javascript json highcharts coldfusion-11