MVC Razor查看Ajax调用不起作用

时间:2014-10-06 11:16:00

标签: jquery ajax asp.net-mvc json

我的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。

感谢您的反馈。

1 个答案:

答案 0 :(得分:1)

你在这里打字错误: -

url: '/Statistics/GetTestData',

而不是: -

  url: '/Statistics/GetTestData")',

加上你需要指定数据类型如下: -

dataType: 'json'

和内容类型如下: -

contentType: 'application/json; charset=utf-8',