2015-10-29 69 views
0

爲什麼我會得到500 Internal server errorASP.NET MVC 5控制器JsonResult內部服務器錯誤

C#

public JsonResult GetCategory(string id) 
     { 
       long eocategoryid = Convert.ToInt64(id); 
       dbEntities db = new dbEntities(); 
       ttCategory cat = db.ttCategories.First(x => x.ID == eocategoryid); 

       return Json(new 
       { 
        catgeory = cat 
       }, JsonRequestBehavior.AllowGet); 

} 

JS:

$.ajax({ 
        type: "GET", 
        url: "/GetCategory", 
        data: { id: data.node.a_attr.id }, 
        datatype: "json", 
        success: function (data) { 
         console.log(data); 
        } 
       }); 
+0

檢查你的'eocategoryid'的價值。它是什麼? – AnhTriet

+0

值是正確的,貓已設置 – daniel

+0

不確定你需要指定'datatype:「json」' – JamieD77

回答

1

看來,問題出在序列化過程。我認爲ttCategory是一個來自實體框架的自動生成的類。 不要試圖序列化整個班級。只需要你需要的領域並將其返還給客戶。

實例回報:

return Json(new 
       { 
        firstName = cat.FirstName, 
        lastName = cat.LastName, 
       }, JsonRequestBehavior.AllowGet); 
+0

是的,這是有效的。我不確定爲什麼我沒有例外,例如循環。 – daniel

+0

很高興聽到這一消息。請檢查@Andrei評論,以確保您啓用了所有例外情況並關閉了自定義錯誤:) – AnhTriet