Javascript 在amCharts中查看动态ASHX数据
我正在使用一个.ashx数据处理程序,它成功地调用并返回一个有效的JSON格式(使用确认) 我想在amChart中使用返回的数据。我的图表可以正确使用硬编码数据。如何使图表接受动态ashx JSON数据Javascript 在amCharts中查看动态ASHX数据,javascript,json,amcharts,ashx,Javascript,Json,Amcharts,Ashx,我正在使用一个.ashx数据处理程序,它成功地调用并返回一个有效的JSON格式(使用确认) 我想在amChart中使用返回的数据。我的图表可以正确使用硬编码数据。如何使图表接受动态ashx JSON数据 <script type="text/javascript"> var chart = AmCharts.makeChart("chartdiv", { "type": "serial", "theme": "light", "
<script type="text/javascript">
var chart = AmCharts.makeChart("chartdiv", {
"type": "serial",
"theme": "light",
"marginRight": 70,
"dataProvider": [{
"date": "11/04/2014",
"val1": 125,
"val2": 150
}, {
"date": "11/05/2014",
"val1": 100,
"val2": 130
},
// ETC
]
"valueAxes": [{
"axisAlpha": 0,
"position": "left",
"title": "Visitors By Date"
}],
"graphs": [{
"id": "val1",
"title": "val1bar",
"valueField": "val1",
"type": "column",
"balloonText": "VAL1<br>[[date]]<br>[[val1]]</div>"
}, {
"id": "val2",
"title": "val2bar",
"valueField": "val2",
"type": "column",
"balloonText": "VAL1<br>[[date]]<br>[[val1]]</div>"
}],
"chartCursor": {
"pan": true,
"valueLineEnabled": true,
"valueLineBalloonEnabled": true,
"cursorAlpha": 0,
"valueLineAlpha": 0.2
},
"categoryField": "date",
"categoryAxis": {
"gridPosition": "start",
"labelRotation": 45
},
});
</script>
var chart=AmCharts.makeChart(“chartdiv”{
“类型”:“串行”,
“主题”:“光”,
“marginRight”:70,
“数据提供者”:[{
“日期”:“2014年4月11日”,
“瓦尔1”:125,
“val2”:150
}, {
“日期”:“2014年5月11日”,
“val1”:100,
“val2”:130
},
//等
]
“价值轴”:[{
“axisAlpha”:0,
“位置”:“左”,
“标题”:“按日期列出的访客”
}],
“图表”:[{
“id”:“val1”,
“标题”:“val1bar”,
“valueField”:“val1”,
“类型”:“列”,
“BallooText:“VAL1
[[date]]
[[VAL1]]”
}, {
“id”:“val2”,
“标题”:“val2bar”,
“valueField”:“val2”,
“类型”:“列”,
“BallooText:“VAL1
[[date]]
[[VAL1]]”
}],
“图表光标”:{
"泛":对,,
“valueLineEnabled”:true,
“ValueLineBalloodEnabled”:true,
“cursorAlpha”:0,
“valueLineAlpha”:0.2
},
“类别字段”:“日期”,
“分类法”:{
“网格位置”:“开始”,
“唇瓣旋转”:45
},
});
阿姆查特自己的插件可能是利用ASHX的JSON输出的最简单方法
基本上,您只需要包含amcharts/plugins/dataloader/dataloader.min.js
,然后用dataloader
信息替换dataProvider
,如下所示:
var chart = AmCharts.makeChart( "chartdiv", {
"type": "serial",
"theme": "light",
"marginRight": 70,
"dataLoader": {
"url": "mydata.ashx"
},
"valueAxes": [ {
"axisAlpha": 0,
"position": "left",
"title": "Visitors By Date"
} ],
"graphs": [ {
"id": "val1",
"title": "val1bar",
"valueField": "val1",
"type": "column",
"balloonText": "VAL1<br>[[date]]<br>[[val1]]</div>"
}, {
"id": "val2",
"title": "val2bar",
"valueField": "val2",
"type": "column",
"balloonText": "VAL1<br>[[date]]<br>[[val1]]</div>"
} ],
"chartCursor": {
"pan": true,
"valueLineEnabled": true,
"valueLineBalloonEnabled": true,
"cursorAlpha": 0,
"valueLineAlpha": 0.2
},
"categoryField": "date",
"categoryAxis": {
"gridPosition": "start",
"labelRotation": 45
},
} );
var chart=AmCharts.makeChart(“chartdiv”{
“类型”:“串行”,
“主题”:“光”,
“marginRight”:70,
“数据加载器”:{
“url”:“mydata.ashx”
},
“valueAxes”:[{
“axisAlpha”:0,
“位置”:“左”,
“标题”:“按日期列出的访客”
} ],
“图表”:[{
“id”:“val1”,
“标题”:“val1bar”,
“valueField”:“val1”,
“类型”:“列”,
“BallooText:“VAL1
[[date]]
[[VAL1]]”
}, {
“id”:“val2”,
“标题”:“val2bar”,
“valueField”:“val2”,
“类型”:“列”,
“BallooText:“VAL1
[[date]]
[[VAL1]]”
} ],
“图表光标”:{
"泛":对,,
“valueLineEnabled”:true,
“ValueLineBalloodEnabled”:true,
“cursorAlpha”:0,
“valueLineAlpha”:0.2
},
“类别字段”:“日期”,
“分类法”:{
“网格位置”:“开始”,
“唇瓣旋转”:45
},
} );
默认情况下,Data Loader需要JSON数据,因此您不需要设置任何其他选项。您是正确的。非常感谢。为了附加您的解决方案,我还需要进行后处理,因为我在JSON“dataLoader”中使用了一个子数组:{“url”:“queries/dataHandler_getDailyIncidentCount.ashx”,“后处理”:function(jsonData){return jsonData.aaData;},“format”:“JSON”},