将json加载到chart.js中
问题描述:
我想通过ajax将jsonData加载到chart.js对象中。将json加载到chart.js中
我的问题是它交给jsondata作为字符串chart.js之
我认为阿贾克斯()。responseText的检索字符串,但chart.js之数据预计一个数组?
我对谷歌图表做了同样的工作,效果很好。
这里是我的代码:
<html>
<head>
<script type="text/javascript" src="./jquery-3.1.1.min.js"></script>
<script type="text/javascript" src="./jslib.js"></script>
<script type="text/javascript" src="./Chart.min.js"></script>
</head>
<body>
<div class="container">
<h2>Chart Test</h2>
<div>
<canvas id="myChart"></canvas>
</div>
</div>
<script type="text/javascript">
var jsonData = $.ajax({
type: "POST",
data: { "ibrconfig_id": 26},
url: "./ibrlib.php",
dataType:"json",
async: false
}).responseText;
//document.write(jsonData);// this returns: { labels: ["1","2"], datasets: [ { label: "Taster", data: [0,0], backgroundColor: "rgba(153,255,51,0.6)" } ] }
var ctx = document.getElementById('myChart').getContext('2d');
var myChart = new Chart(ctx,
{
type: 'bar',
data: jsonData
});
/*
This works very fine
var ctx = document.getElementById('myChart').getContext('2d');
var myChart = new Chart(ctx,
{
type: 'bar',
data: { labels: ["1","2"], datasets: [ { label: "Taster", data: [0,0], backgroundColor: "rgba(153,255,51,0.6)" } ] }
});
*/
</script>
</body>
</html>
我如何处理呢? 非常感谢您的时间!
答
使用JSON.parse(jsonData)
使对象从JSON字符串
答
好吧我知道了。谢谢andr1o
my jsonData was wrong。
{ labels: ["1","2"], datasets: [ { label: "Taster", data: [0,0], backgroundColor: "rgba(153,255,51,0.6)" } ] }
没有我改成了
{ "labels": ["1","2"], "datasets": [ { "label": "Taster", "data": [0,0], "backgroundColor": "rgba(153,255,51,0.6)" } ] }
不工作... VAR objData = JSON.parse(jsonData); 类型:'bar', data:objData – Julian
你能显示'objData'的内容吗?你可以使用'console.log(objData)',你将在web检查器中输出 – andr1o