我在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(数据)
对象引用未设置为对象的实例。
我到处看,但无法找到解决方法。有人可以帮忙吗?
答案 0 :(得分:0)
似乎您的案例中的结果未正确形成。我用下面的示例结果集尝试了你的代码并且它工作正常。
public JsonResult GetAllProperties()
{
List<Temp> obj = new List<Temp>();
obj.Add(new Temp("A",1));
obj.Add(new Temp("B",2));
obj.Add(new Temp("C",3));
return Json(obj, JsonRequestBehavior.AllowGet);
}
public class Temp
{
public string name { get; set; }
public int empid { get; set; }
public Temp(string n, int id)
{
name = n;
empid = id;
}
}
尝试将结果集更改为某些静态数据,并检查是否仍然出现相同的错误。