2010-06-19 22 views
2

這必須是一個新手問題。如何將數據傳遞給ASP.NET MVC中的JsonResult?

我有一個控制器,這個方法:

public JsonResult GetUpdates(string lastChatMessage) 
{ 
    var json = Json(new {lastModeratorAction = -1}); 
    return json; 
} 

我用$就或$ .getJSON從Javascript調用它。該方法被調用,但在某處存在異常。 如果我使用$ .ajax,我定義了一個「錯誤」回調,它告訴我XmlHttpRequest的狀態是「錯誤」。錯誤消息是「未定義」。

如果我從上面的方法返回「null」,它工作正常。在JSON序列化過程中可能存在異常。任何提示?

回答

3

如果您使用GET發送請求,則需要指出返回JsonResult是可以接受的。

return Json(new { lastModeratorAction = -1 }, JsonRequestBehavior.AllowGet); 
+0

哇,非常感謝!我見過很多例子,但沒有一個展示AllowGet的東西。現在它像一個魅力。 – Sparhawk 2010-06-19 20:20:44

+1

@sparhawk - 由於可能通過覆蓋對象原型的'__defineSetter__'方法來劫持對GET請求的json響應,因此它被添加到MVC2中。請參閱Phil Haack的文章:http://haacked.com/archive/2009/06/25/json-hijacking.aspx – tvanfosson 2010-06-19 22:33:09

相關問題