如何用angularjs读取本地json?

我读取了text.json,并且赋值到$scope.data里了,在html中用ng-repeat没有反应。请问怎么样才能让读取出来的数据分别写到html页面里对应的位置去?
ps:这段代码运行时报错说,找不到json文件的路径404.
js:

 function dataController($http,$scope) {
 $http.get("json/text.json").success(function(freetrial) { alert(freetrial);$scope.data = freetrial;});

json里的数据:

{"freetrial":[{
"id": "01",
"imgurl": "images/1.jpg",
"status": "0"
},
{
"id": "02",
"imgurl": "images/2.jpg",
"status": "1"
}
]}

html:

<div ng-controller="dataController" ng-repeat="x in data|filter:{status:'0'}">
<div id="{{x.id}}">
<img ng-src="{{x.imgurl}}" />
</div>
</div>
阅读 33.9k
4 个回答

既然已经提示404了,也就是没找到json咯,应该是路径错误

还有你的success()方法里面的freetrial实际上代表的是json的所有数据,所以你后面要取那个数组的时候这样是取不到的。

应该这样取:

 function dataController($http,$scope) {
     $http.get("json/text.json").success(function(data) {
         $scope.data = data.freetrial;
     });
 }

你可以先配绝对路径,如果成功说明没其他问题的时候,再换相对路径。

新手上路,请多包涵

问下你取出来了吗?
我一直取不出来

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进