从$ http调用解析AngularJS中的JSon数据

Edi*_*ent 6 javascript json http angularjs

我对Web开发和AngularJS都很陌生.我正在尝试编写一个网页,它将根据我服务器上的JSon文件自动更新其信息.我可以得到json数据,但我似乎无法解析进来的数据.我验证了json数据只是为了确保我正确地写它,但每当我在网站上显示它只是显示为单个字符串.我无法访问个人成员.我的工厂和控制器在下面.任何帮助将不胜感激!!

var MyController = function($scope, $log, MyFactory) {
    $scope.notes =[];

function init() {
    MyFactory.getNotes()
        .success(function(notes){
            $scope.notes = JSON.parse(notes);
        })
        .error(function(data, status, headers, config) {
                $log.log(data.error + ' ' + status);
            });
}

    init();

angular.module('MyApp')
    .controller('MyController', MyController);
};
Run Code Online (Sandbox Code Playgroud)

而工厂:

    var MyFactory = function($http) {
    var factory = {};
    factory.getNotes = function() {
        return $http.get('/ci/data.json');
    };
return factory;
};

angular.module('MyApp').factory('MyFactory', 
                                    MyFactory);
Run Code Online (Sandbox Code Playgroud)

我承认代码和问题很粗糙,但我刚刚开始.任何有关建筑和风格的额外帮助也将受到赞赏!提前致谢!

alu*_*sen 6

  1. 您不需要将响应解析为json.如果源文件为您提供有效的json,则angular知道它的json.

  2. 在您的控制器中,尝试console.log($scope.notes).如果使用谷歌浏览器,您可以json在控制台中获得结果,并且知道您factory的工作正常.

  3. 使用角度forEach来迭代结果以对其执行某些操作.

    angular.forEach($scope.notes, function(note) {
        console.log(note);
    });
    
    Run Code Online (Sandbox Code Playgroud)