如何在ASP.NET MVC中向JsonResult传递数据?

3
这似乎是一个初学者的问题。
我在控制器中有这个方法:
public JsonResult GetUpdates(string lastChatMessage)
{
   var json = Json(new {lastModeratorAction = -1});
   return json;
}

我正在使用Javascript中的$.ajax或$.getJSON进行调用。该方法被调用,但是似乎出现了异常。 如果我使用$.ajax,我会定义一个“error”回调函数,它会告诉我XmlHttpRequest的状态为“error”。错误消息是“undefined”。
如果我从上述方法返回“null”,它可以正常工作。可能在JSON序列化过程中出现了异常。有什么提示吗?
1个回答

3
如果您使用GET发送请求,需要指示可以返回JsonResult。
 return Json( new { lastModeratorAction = -1 }, JsonRequestBehavior.AllowGet );

哇,非常感谢!我看过很多例子,但都没有涉及 AllowGet 这个东西。现在它像魔法一样运行得很好。 - Sparhawk
1
@sparhawk - 这是在MVC2中添加的,因为可以通过覆盖对象原型的__defineSetter__方法来劫持对GET请求的JSON响应的可能性。请参阅Phil Haack的文章:http://haacked.com/archive/2009/06/25/json-hijacking.aspx - tvanfosson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接