Javascript 序列化类型为的对象

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

我想在MVC4中实现AngularJS。如何在mvc4中以angular格式返回JSON

这是我的密码:

控制器:

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