Angular和JSON交互?

时间:2015-06-29 07:34:25

标签: javascript html json angularjs

我正在尝试实现一个涉及angular.js和JSON的非常基本的系统,但是我无法让它表现出来。我想要做的就是获取我的JSON文件中特定字段的值并将其吐出到页面上。任何人都可以看到为什么这不起作用?它每次都找到数据库,但我似乎无法访问该对象。

HTML& JS

<html lang="en" ng-app="ngApp">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.16/angular.min.js"></script>
<script>
    var ngApp = angular.module('ngApp', []);
    ngApp.controller('ngCtrl', function($scope, $http){
        $http.get("db.json").success(function(data){
            console.log("Database found");
            $scope.data = data;
        });
    });
</script>
<body ng-controller="ngCtrl">
    <div>Data goes here: {{data.field1}}</div>
</body>
</html>

JSON

[
    {
        "field1":"data1",
        "field2":"data2"
    }
]

我对角度很新,所以如果我错过了一些东西,我不会感到惊讶。

2 个答案:

答案 0 :(得分:2)

您的json回复是array objects。因此,您必须使用数组表示法来从中访问数据。

请参阅下面突出显示的更改:

<div>Data goes here: {{data[0].field1}}</div>
//                         ^^^

您可能希望使用ng-repeat循环遍历所有数据

<body ng-controller="ngCtrl">
    <div ng-repeat="item in data">
        <span> Field1 : {{item.field1}}</span>
        <span> Field2 : {{item.field2}}</span>
    </div>
</body>

答案 1 :(得分:2)

从第一眼看,似乎返回的json数据是一个对象数组。试试这个

data[0].field1