$http.get() 响应 500 个 angularjs 和 mvc
本文关键字:angularjs mvc 响应 http get | 更新日期: 2023-09-27 18:32:49
我已经 asp.net 在MVC中建立了一个EF模型,并使用angularjs中的$http.get()来检索数据。当页面呈现时,我得到500(内部服务器错误)
首页应用.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)
})
});
首页控制器.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(内部服务器错误)
控制台.log(数据)
对象引用未设置为对象的实例。
我到处找,但找不到如何解决这个问题。谁能帮忙?
在您的情况下,结果似乎格式不正确。我用下面的示例结果集尝试了您的代码,它起作用了。
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;
}
}
尝试将结果集更改为一些静态数据,并检查是否仍然收到相同的错误。