JsonResult的行动没有被解雇

时间:2011-05-05 13:09:28

标签: jquery asp.net asp.net-mvc json jsonresult

我的UpdatesController中有一个带有以下签名的操作方法:

public JsonResult GetUpdates(DateTime lastUpdate)

在我看来,我有以下代码来调用该方法(此时它只是在一个按钮的onclick事件上进行测试,该按钮具有id clickme):

$(document).ready(function(){
    $("#clickme").click(function(){
        alert("Before");
        $.getJSON("http://localhost/Updates/GetUpdates", "04/05/2011 11:44:37", function(data){ alert(data); });
        alert("After");
    });
});

点击事件会触发,BeforeAfter警报都会触发,但我没有收到任何数据,因为我没有收到json数据的警报。我还在GetUpdates方法中设置了一个断点,断点永远不会被击中,我相信这表明请求没有被发送?

参数可能有问题吗?

由于

更新

所以我终于让它在Visual Studio中逐步完成,并且action方法运行时没有错误。但是,警报未显示,如果我查看Firebug中的Net选项卡,我会针对此特定请求获得500错误?

1 个答案:

答案 0 :(得分:1)

尝试更改它以执行此操作:

$.getJSON("http://localhost/Updates/GetUpdates", { lastUpdate: "04/05/2011 11:44:37" }, function(data){ alert(data); });

可能没有找到正确的动作,因为可能没有匹配的路线。

运行fiddler并检查响应是什么,下一步我会尝试

编辑:

如果你使用MVC 2,还要确保你的Json调用有JsonRequestBehavior.AllowGet作为参数。例如

return Json(obj, JsonRequestBehavior.AllowGet);