Asp.net mvc 为什么JsonResult会产生500内部服务器错误?

Asp.net mvc 为什么JsonResult会产生500内部服务器错误?,asp.net-mvc,asp.net-mvc-3,Asp.net Mvc,Asp.net Mvc 3,我正在尝试从Microsoft SQL Server数据库检索值。它是一个可为空的“位” 要检索的代码 [HttpGet] public JsonResult WishesVisit() { int firmaid = SessionExtensions.GetFirmaId(Session); var firma = db.Firma.Where(x => x.firma_id == firmaid).FirstOrDefault(); if (firma !=

我正在尝试从Microsoft SQL Server数据库检索值。它是一个可为空的“位”

要检索的代码

[HttpGet]
public JsonResult WishesVisit()
{
    int firmaid = SessionExtensions.GetFirmaId(Session);
    var firma = db.Firma.Where(x => x.firma_id == firmaid).FirstOrDefault();

    if (firma != null)
    {
        if (firma.oensker_besog != null)
        {
            if ((bool)firma.oensker_besog)
            {
                return Json("true");
            }
            else
            {
                return Json("false");
            }
        }
    }

    return Json("null"); 
}
以及要检索的代码:

$.getJSON('WishesVisit', function (data) {
    alert(data);
});
为什么会出现500内部服务器错误


调试器未捕获任何异常。

问题很可能是因为ASP.NET MVC默认情况下不允许使用GET进行JSON请求。您可以将
JsonRequestBehavior.AllowGet
作为第二个参数添加到Json调用中:

return Json("true", JsonRequestBehavior.AllowGet);

如果没有,能否提供错误消息?

谢谢。知道ASP.NET MVC为什么不允许JSON请求吗。@eranotzap MVC正在保护您免受已知的漏洞攻击,如果GET请求返回JSON数组,您可能会暴露敏感数据。