我有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实际显示我的原始角度变量。
答案 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?