2012-01-31 15 views
5

Microsoft SQL Serverデータベースから値を取得しようとしています。これはヌル値「ビット」です。JsonResultが500の内部サーバーエラーを生成するのはなぜですか?

[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内部サーバーエラーを取得していますか?

デバッガは例外をキャッチしません。

答えて

16

ASP.NET MVCではデフォルトでGETを使用したJSON要求が許可されないため、問題が発生している可能性があります。あなたはJSON呼び出しの2番目のパラメータとしてJsonRequestBehavior.AllowGetを追加することができます。

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

ない場合は、エラーメッセージを提供することができますか?

+0

あなたは正しいです:) – Kenci

+0

ありがとうございます。 ASP.NET MVCがJSONリクエストを許可しない理由 –

+0

@eranotzap MVCは、[JSONハイジャック](http://haacked.com/archive/2009/06/25/json-hijacking.aspx/)という悪用からあなたを守ります.GETリクエストはJSON配列を返します。 – OneManBand

関連する問題