ASP.NET MVC 5控制器JsonResult内部服务器错误

时间:2015-10-29 15:01:34

标签: c# asp.net json ajax asp.net-mvc

为什么我会获得500 Internal server error

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);
                    }
                 });

1 个答案:

答案 0 :(得分:1)

问题似乎在于序列化过程。我认为ttCategory是来自Entity Framework的自动生成的类。 不要尝试序列化整个班级。只需取出您需要的字段并将其返回给客户。

返回示例:

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