我用人力车的例子尝试了一个简单的例子......
休息服务器返回一个json文件...... 如果我将它打印到控制台,它与示例中的相同:
[{
color: 'steelblue',
data: [
{ x: 0, y: 40 },
{ x: 1, y: 49 },
{ x: 2, y: 38 },
{ x: 3, y: 30 },
{ x: 4, y: 32 } ]
}]
但不知怎的,我总是得到错误"未捕获的异常:系列不是数组:[object Object]"
这是我的剧本:
var json = $.ajax({
'url': "http://127.0.0.1:8887/getMetricsJson/metricName/water_in/earliest/1398037036/latest/1398039416",
'success': function(json) {
console.log(json);
}
});
var graph = new Rickshaw.Graph( {
element: document.getElementById("chart"),
renderer: 'line',
height: 200,
width: 400,
series: json
} );
graph.render();
答案 0 :(得分:0)
我的解决方案是将“series:json.data”替换为“series:json”,请参阅下文中的上下文:
var graph = new Rickshaw.Graph( {
element: document.getElementById("chart"),
renderer: 'line',
height: 200,
width: 400,
series: json.data
} );
答案 1 :(得分:0)
我认为你需要解析JSON字符串。我正在使用XMLHttpRequest而不是ajax,但这为我解决了这个问题。
这应该有效:
var json = $.ajax({
'url': "http://127.0.0.1:8887/getMetricsJson/metricName/water_in/earliest/1398037036/latest/1398039416",
'success': function(json) {
console.log(json);
}
});
var graph = new Rickshaw.Graph( {
element: document.getElementById("chart"),
renderer: 'line',
height: 200,
width: 400,
series: JSON.parse(json)
} );
graph.render();
希望这有助于某人,因为这是一个非常古老的问题。我无法在其他任何地方找到答案,当您搜索该错误时会弹出此问题。