Rumah  >  Soal Jawab  >  teks badan

angular.js - 如何用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:

<p ng-controller="dataController" ng-repeat="x in data|filter:{status:'0'}">
<p id="{{x.id}}">
<img ng-src="{{x.imgurl}}" />
</p>
</p>
黄舟黄舟2713 hari yang lalu726

membalas semua(5)saya akan balas

  • 仅有的幸福

    仅有的幸福2017-05-15 16:53:24

    Memandangkan ia telah menggesa 404, yang bermaksud json tidak ditemui, ia sepatutnya menjadi laluan yang salah

    Dan success() dalam kaedah freetrial anda sebenarnya mewakili semua data json, jadi anda tidak akan dapat mendapatkannya apabila anda ingin mendapatkan tatasusunan nanti.

    hendaklah diambil seperti ini:

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

    balas
    0
  • PHP中文网

    PHP中文网2017-05-15 16:53:24

    Anda boleh mengkonfigurasi laluan mutlak dahulu, dan kemudian menukar kepada laluan relatif jika ia berjaya dan tiada masalah lain.

    balas
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-15 16:53:24

    Anda boleh mengkonfigurasi laluan mutlak dahulu, dan kemudian menukar kepada laluan relatif jika ia berjaya dan tiada masalah lain.

    balas
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-15 16:53:24

    Sudahkah anda mengeluarkannya?
    Saya tidak dapat mengeluarkannya

    balas
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-15 16:53:24

    Jika ia adalah ralat 404, ini bermakna data json get belum diperoleh, iaitu, terdapat masalah dengan laluan json saya menyalin kod anda dan mencubanya data tidak akan dipaparkan pada halaman di atas.
    Tetapi:

    function dataController($http,$scope) {
    $http.get("json/text.json").success(function(freetrial) {   
            alert(freetrial);
            $scope.data = freetrial;
            console.log($scope.data);//可以打印出数据
        });
    };

    Kaedah get yang betul hendaklah:

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

    Peranan data: rujuk kod sumber angular.js

     $http.get('test_data.json', 
         {cache: $templateCache}).success(function(userComments){
           self.userComments = userComments;
     });
    

    balas
    0
  • Batalbalas