我的MVC 5 Razor View中有一个Ajax请求,它应该在我的Controller中调用一个Action,这反过来应该将Json Data返回到我的Razor View。
Razor查看
$(document).ready(function () {
$.ajax({
type: "GET",
contentType: 'application/json; charset=utf-8',
dataType: 'json',
//url: '@Url.Action("GetTestData")',
url: '/Statistics/GetTestData',
error: function () {
alert("An error occurred.");
},
success: function (data) {
$.plot($("#placeholder"), dataset, options);
}
});
$.plot($("#placeholder"), dataset, options);
});
MVC控制器
namespace STAR.UI.Controllers
{
public class StatisticsController : Controller
{
[HttpGet]
public ActionResult GetTestData()
{
return Json(new[] { new[] { 0, 5 }, new[] { 1, 10 }, new[] { 2, 15 }, new[] { 3, 20 }, new[] { 4, 25 }, new[] { 5, 30 }, new[] { 6, 35 } },JsonRequestBehavior.AllowGet);
}
}
}
Ajax请求应该在我的Controller中调用GetTestData Action并返回Json数据。但是,我在我的GetTestData Action上设置了一个断点,调试了,而且永远不会调用Action,因此永远不会返回Json数据。
有人可以帮我找出为什么我的Ajax代码没有调用我的Action。
感谢您的反馈。
答案 0 :(得分:1)
你在这里打字错误: -
做
url: '/Statistics/GetTestData',
而不是: -
url: '/Statistics/GetTestData")',
加上你需要指定数据类型如下: -
dataType: 'json'
和内容类型如下: -
contentType: 'application/json; charset=utf-8',