如何使用angular从文件加载Json对象?

时间:2017-04-24 11:42:13

标签: javascript angularjs

我有JSON文件,包含 我正在使用angular加载JSON文件,我认为这可能是一个非常明显的问题,但我无法在任何地方找到答案, 我在这里引用了一些主题,但仍然没有pp来解决我的问题 我只是尝试使用angular加载一些JSON数据文件,但它不符合预期

   <body>
    <h1>Sample Application</h1>
    <div ng-app="app">
    <div ng-controller="controller">
        <p>Enter your Name:
            <input type="text" ng-model="name">
        </p>
        <p>Hello <span ng-bind="name"></span>!</p>
        <p>List of Countries with locale:</p>
        <ol>
            <li ng-repeat='country in countries '>
                {{ country.name }}
            </li>
        </ol>
    </div>
   </div>
  <script src="libs/angular.js"></script>
  <script src="script/jsonRead.js"></script>
   </body>

Angular的每个例子都只显示如下内容:

var jsonRead = angular.module('app', []);
 jsonRead.controller('controller', function($scope,$http){
    $scope.countries=null;
    $http.get("countries.json").success(function(result){
        $scope.countries = result;  
    }).error(function(result) {
        /* Act on the event */
        console.log("there was an error");
    });

 });

和json文件:

 {
    "countries":[
     {
        "locale":"en-US",
        "name":"United States"
     }, 
     {
        "locale":"en-GB",
        "name":"United Kingdom"
     },
     {
        "locale":"en-FR",
        "name":"France"
     }
    ]
   }

问题是我无法将其他页面的代码加载到contries.json文件中     这个控制器代码不仅不起作用,而且它打破了我的$ contries代码并使html实际显示我的原始角度变量。

2 个答案:

答案 0 :(得分:1)

你必须使用它:

var jsonRead = angular.module('app', []);
 jsonRead.controller('controller', function($scope,$http){
    $scope.countries=null;
    $http.get("countries.json").success(function(result){
        $scope.countries = result.data; // <----it should be like this  
    }).error(function(result) {
        /* Act on the event */
        console.log("there was an error");
    });

 });

并且在视图中您必须更新为:

<li ng-repeat='country in countries.countries '>

或者如果我必须更新您的代码,那么至少您必须这样做:

$scope.countries = result.data.countries;

答案 1 :(得分:0)

您可以通过$ http检查资源变量并获取。是发布还是获取?你确定第二个片段是对的吗? 另请查看此How to load json into my angular.js ng-model?