如何解决Ajax回调问题
我在dotnet中有一个项目,我正在尝试使用GoogleCharts,但无法正常工作。
该项目位于.net mvc上
这是我的代码:
Views-> Sensor-> Chart.cshtml
@{
ViewData["Title"] = "Chart";
}
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart_div" style="width: 900px; height: 500px;"></div>
<script type="text/javascript">
google.charts.load('current',{packages: ['corechart','bar']});
google.charts.setOnLoadCallback(LoadData);
function LoadData() {
$.ajax({
url: '@Url.Action("ChartJson","Sensor")',dataType: "json",type: "GET",error: function(xhr,status,error) {
var err = eval("(" + xhr.responseText + ")");
toastr.error(err.message);
},success: function(data) {
CreateChart(data);
return false;
}
});
return false;
}
function CreateChart(data) {
var dataArray = [
['Tag','Average value']
];
$.each(data,function(i,item) {
dataArray.push([item.tag,item.value]);
});
var data = google.visualization.arrayToDataTable(dataArray);
var options = {
title: 'Sensor data per coutry and region',chartArea: {
width: '50%'
},colors: ['#b0120a','#ffab91'],hAxis: {
title: 'Arithmetic average',minValue: 0
},vAxis: {
title: 'Tag'
}
};
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
chart.draw(data,options);
return false;
}
</script>
此视图已加载到url上,但没有任何图形。 我想调试控制器类,但是从未调用过ChartJson()方法。
这是控制器上用于图表绘制例程的两种方法:
Controllers-> SensorController.cs
public IActionResult Chart()
{
return View();
}
public JsonResult ChartJson()
{
var sensors = from s in _context.Sensor select s;
var sensorsList = sensors.ToList();
Console.WriteLine("Entrou");
List<ChartData> listChart = new List<ChartData>();
foreach (Sensor s in sensorsList)
{
int value;
bool isNumeric = int.TryParse(s.value,out value);
if (!isNumeric)
continue;
string tag = s.country + "." + s.region;
for (int i = 0; i < listChart.Count; i++)
{
if (listChart[i].tag.Equals(tag))
{
listChart[i].AddValue(value);
break;
}
if (i == listChart.Count - 1)
{
listChart.Add(new ChartData(tag));
break;
}
}
}
return Json(listChart);
}
有人可以帮助我吗?谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。