我是AJAX的新手,我试图从我的控制器方法中获取一些数据到我的.js文件中,这样我就可以在我的图表中使用这些数据了。每次我运行我的项目时,我都会收到自定义错误消息:“加载数据时出错!请再试一次。”这意味着它进入了AJAX函数,但没有成功。此外,我不知道如何正确调试,以查看它出错的地方。
我的.js代码在一个单独的文件中如下:
var chartData;
$(document).ready(function () {
$.ajax({
url: "/Account/GetChartData",
data: "",
dataType: "json",
type: "POST",
contentType: "application/json; chartset=utf-8",
success: function (data) {
chartData = data.d.toString();
alert("Data is: " + data.d.toString());
},
error: function () {
alert("Error loading data! Please try again.");
}
}).done(function () {
//After complete loading data
drawChart();
});
});
我的控制器方法如下所示:
public static object[] GetChartData()
{
var chartData = new object[2];
//Manually adding some test data
chartData[0] = new object[]
{
"Day",
"Detected Asparaguses",
"String Operations",
"Successful Sting Operations"
};
chartData[1] = new object[]
{
"21-09-2018",
100,
85,
80
};
return chartData;
}
你指定了dataType: "json"
但你的方法没有返回json,你会得到一个500 (Internal Server Error)
。更改方法以返回JsonResult
[HttpPost]
public ActionResult GetChartData() // or `JsonResult`
{
var chartData = new object[2];
....
return Json(chartData);
}
然后ajax回调中的data
将包含对象的数组。