【问题标题】:MVC Razor View Ajax Call Not WorkingMVC Razor 视图 Ajax 调用不起作用
【发布时间】: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


【解决方案1】:

你在这里打错了:-

url: '/Statistics/GetTestData',

而不是:-

  url: '/Statistics/GetTestData")',

另外你需要指定数据类型如下:-

dataType: 'json'

内容类型如下:-

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

【讨论】:

  • 抱歉,这是我的问题中的一个错字。我现在已经更正了,但仍然没有调用 Action?
  • 你确定你已经给文件@tgriffiths提供了jquery的引用
  • 首先确定你的ajax调用是否正在执行@tgriffiths
  • 是的,我在 标签 中引用了这个
  • 将警报放入 document.ready 并检查它是否命中脚本或没有页面加载@tgriffiths
猜你喜欢
  • 1970-01-01
  • 2013-05-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-23
  • 2017-09-29
  • 1970-01-01
相关资源
最近更新 更多