jquery - getJSON 回调未触发

标签 jquery asp.net-mvc json

我正在通过参与一个测试项目(包括 SubSonic 和 jQuery)来学习 asp.net mvc。

我遇到的问题是,每次我想要返回的不仅仅是简单字符串(例如 Json 对象)时,我都会遇到困难,因为回调似乎不会触发,或者返回失败。

我获取数据库中作业列表的方法:

    [AcceptVerbs(HttpVerbs.Get)]
    public JsonResult GetAllJobs()
    {
        var db = new JamesTestDB();
        var jobs = from job in db.Jobs
                   select job;

        return Json(jobs.ToList());
    }

我的 JavaScript 来调用它:

    function updateJobList() {
        var url = '<%= Url.Action("GetAllJobs", "Home") %>';

        $.getJSON(url, null, function(data, status) { alert("Success!"); });
    }

我已经使用内联和外部函数定义来尝试 get、post 和 getJSON 的成功和失败。似乎什么都不起作用,但代码肯定是在进行 Ajax 调用,只是没有触发回调。

最佳答案

这是解决方案!!

事实证明我一年多来一直在做同样的事情:

public JsonResult SaveData(string userID, string content)
{
    var result = new { Message = "Success!!" };

    return Json(result);
}

因此,我开始在我启动的一个新项目中以同样的方式进行操作。嗯,有什么区别吗?第一个是 MVC 1.0,我的新版本是 MVC 2.0。那么有什么区别呢?您必须允许 JSON GET 请求:

public JsonResult SaveData(string userID, string content)
{
    var result = new { Message = "Success!!" };

    return Json(result, JsonRequestBehavior.AllowGet);
}

关于jquery - getJSON 回调未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1468781/

相关文章:

c# - 如何在调用 httpcontext.current 的 mvc Controller 上进行集成测试

c# - N 层应用程序 : Getting a model from Data layer to UI layer

c# - 我可以在 Entity Framework 6 中制作全局查询过滤器吗?通过 OnModelCreating?

java - 使用 Jersey 将名称添加到数组

jQuery 访问 JSON 元素

c# - 使用jquery在ajax的回调中调用ajax

javascript - 调整日期选择器

javascript - 我想编写一个异步 JSON 联系人,它将覆盖我的 data.json 文件的内容

javascript - 使用 jQuery Hover 更改 css 样式

jquery - 图像未显示在 Internet Explorer 中