ASP.NET Core MVC AJAX 调用 Action 方法无效
ASP.NET Core MVC AJAX call to Action method not working
我是 AJAX 的新手,我正在尝试从我的控制器方法中获取一些数据到我的 .js 文件中,以便我可以在我的图表中使用这些数据。
每次我 运行 我的项目现在都会收到自定义错误消息:"Error loading data! Please try again."
所以这意味着它正在进入 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"
,但您的方法没有 return json,您将得到 500 (Internal Server Error)
。把方法改成return一个JsonResult
[HttpPost]
public ActionResult GetChartData() // or `JsonResult`
{
var chartData = new object[2];
....
return Json(chartData);
}
然后 ajax 回调中的 data
将包含您的对象数组。
我是 AJAX 的新手,我正在尝试从我的控制器方法中获取一些数据到我的 .js 文件中,以便我可以在我的图表中使用这些数据。 每次我 运行 我的项目现在都会收到自定义错误消息:"Error loading data! Please try again." 所以这意味着它正在进入 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"
,但您的方法没有 return json,您将得到 500 (Internal Server Error)
。把方法改成return一个JsonResult
[HttpPost]
public ActionResult GetChartData() // or `JsonResult`
{
var chartData = new object[2];
....
return Json(chartData);
}
然后 ajax 回调中的 data
将包含您的对象数组。