1

我有一个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");
    });
});

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

参数可能有问题吗?

谢谢

更新

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

4

1 回答 1

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);
于 2011-05-05T13:20:26.147 回答