我的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中逐步完成,并且action方法运行时没有错误。但是,警报未显示,如果我查看Firebug中的Net选项卡,我会针对此特定请求获得500错误?
答案 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);