2017-04-24 95 views
0

我有JSON文件,包含 我使用的角度加載JSON文件,我有什麼,我覺得可能是一個非常明顯的問題,但我找不到任何地方的答案, 我在這裏引用的幾個主題,但有目前還沒有PP解決我的問題 我只是想用角加載一些JSON數據文件,但它沒有按照預期如何從文件中使用的角加載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> 

的角度每一個例子只展示了這樣的東西:

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實際顯示我的原角變量。

回答

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 '> 

,或者如果我需要更新您的代碼,然後ATLEAST你有要做到這一點:

$scope.countries = result.data.countries; 
相關問題