【发布时间】:2016-05-09 06:23:05
【问题描述】:
我已经在 asp.net MVC 中设置了一个 EF 模型,并且我使用 angularjs 中的 $http.get() 来检索数据。呈现页面时,我收到 500(内部服务器错误)
homeApp.js 文件
var homeApp = angular.module('homeApp', []);
homeApp.controller('propertyController', function ($http) {
var vm = this;
$http.get("/Home/GetAllProperties")
.success(function (result) {
vm.Properties = result;
}).error(function (data) {
console.log(data)
})
});
HomeController.cs
public class HomeController : Controller
{
private IPropertyQueryRepository propertyRepo;
public HomeController()
{
this.propertyRepo = new
PropertyQueryRepository(new KEstatesEntities1());
}
public ActionResult Property()
{
return View();
}
public JsonResult GetAllProperties()
{
var result = propertyRepo.GetAll();
return Json(result, JsonRequestBehavior.AllowGet);
}
}
错误信息
加载资源失败:http://localhost:59338/Home/GetAllProperties 服务器响应状态为 500(内部服务器错误)
console.log(数据)
对象引用未设置为对象的实例。
我到处找,但找不到解决方法。有人可以帮忙吗?
【问题讨论】:
-
首先,您应该调试并在您的 C# 代码中找到引发异常的行。
-
该异常被抛出- return Json(result, JsonRequestBehavior.AllowGet);结果是保存正确的对象数据
-
在你的方法中放一个断点,你将能够看到详细的错误信息/异常细节。
-
我为将数据返回到 angular 做了一个控制台日志。它提到 - 序列化类型的对象时检测到循环引用
-
PropertyQueryRepository类中GetAll()函数的返回类型是什么?
标签: c# asp.net angularjs asp.net-mvc-4