Javascript 序列化类型为的对象
我想在MVC4中实现AngularJS。如何在mvc4中以angular格式返回JSON 这是我的密码: 控制器:Javascript 序列化类型为的对象,javascript,angularjs,json,asp.net-mvc-4,json.net,Javascript,Angularjs,Json,Asp.net Mvc 4,Json.net,我想在MVC4中实现AngularJS。如何在mvc4中以angular格式返回JSON 这是我的密码: 控制器: [HttpGet] public ActionResult sample1() { return Json(db.Account_Info.ToList(), JsonRequestBehavior.AllowGet); } Account.js App.controller('Accou
[HttpGet]
public ActionResult sample1()
{
return Json(db.Account_Info.ToList(), JsonRequestBehavior.AllowGet);
}
Account.js
App.controller('Account', ['$scope', '$http', '$timeout', function ($scope, $http, $timeout)
{
$scope.bag = [];
$scope.alldata = function ()
{
//
$http.get('/Accounts/sample1').then(function ($response)
{
$scope.bag = $response;
});
}
//execute on the page load
$timeout(function ()
{
$scope.alldata();
});
}]);
App.js
var App = angular.module('MyApp', []);
视图:
从控制器返回数据:
[HttpGet]
public ActionResult sample1()
{
return Json(db.Account_Info.ToList(), JsonRequestBehavior.AllowGet);
}
需要建议和帮助。提前感谢。使用.net javascript,如下所示:
返回新的JavaScriptSerializer()。反序列化(db.Account_Info.ToList());
反序列化采用泛型。检查您的型号。我假设这是一个帐户信息列表。您正在处理两个不同的问题 现在,您的控制器方法不工作-因此您的角度代码不会按预期工作 在服务器端,当您尝试将对象序列化为JSON时,您会看到一个错误。添加类似Newtonsoft JSON序列化程序的内容会有所帮助 控制器方法将如下所示:
[HttpGet]
public ActionResult sample1()
{
var result = Newtonsoft.Json.JsonConvert.SerializeObject(db.Account_Info.ToList(),
new Newtonsoft.Json.JsonSerializerSettings
{
ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize
});
return Json(result, JsonRequestBehavior.AllowGet);
}
一旦您实际从控制器返回值,则您将需要测试角度代码,以查看其是否工作。您的错误与角度无关。你有循环引用的东西和对象/类,比如A->B,B->C,C->A。我将如何解决这个错误?我应该在我的控制器里做什么?你试过了吗?另外,您使用的Json序列化程序是什么?如果您不知道read在任何情况下都应该解决依赖项是的,我已经尝试了所有这些,但仍然没有显示数据我正在返回数据列表,而不仅仅是一行。
return new JavaScriptSerializer().Deserialize<List<Account_Info>>(db.Account_Info.ToList());
[HttpGet]
public ActionResult sample1()
{
var result = Newtonsoft.Json.JsonConvert.SerializeObject(db.Account_Info.ToList(),
new Newtonsoft.Json.JsonSerializerSettings
{
ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize
});
return Json(result, JsonRequestBehavior.AllowGet);
}