【发布时间】:2014-10-06 11:16:00
【问题描述】:
我的 MVC 5 Razor 视图中有一个 Ajax 请求,它应该在我的控制器中调用一个动作,而控制器又应该将 Json 数据返回到我的 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 请求应该在我的控制器中调用 GetTestData 操作并返回 Json 数据。但是,我在 GetTestData Action 上设置了一个断点,经过调试,该 Action 永远不会被调用,因此永远不会返回 Json 数据。
谁能帮我找出为什么我的Ajax代码没有调用我的Action。
感谢您的任何反馈。
【问题讨论】:
-
你考虑过这一行吗:url: '/Statistics/GetTestData")'?应该是 url: '/Statistics/GetTestData'
-
尝试指定
content-type:application/json; charset=utf-8 -
@SoftSan 道歉,这是我的问题中的一个错字。我现在已经更正了,但仍然没有调用 Action?
-
控制器的名字是
StatisticsController吗? -
将该 URL 放入浏览器是否有效?
标签: jquery ajax asp.net-mvc json