2015-12-19 164 views
0

我正在通过使用angularjs从数据库中获取对象的json数组,但只有最后一条记录显示else没有显示。如何从数据库记录中创建json数组

var myApp=angular.module('myApp',[]); 
myApp.controller('Controller',['$scope','$http',function($scope,$http) { 
$scope.getAllMedicine = function(){ 
    $http.get('http://localhost:8080/Webapp/webapi/medicine/all').success(function(data){ 
     for(j=0; j<data.length; j++){ 
      $scope.medicineList = [{ 
       "medicineId" : "Id : " + data[j].medicineId, 
       "medicineName" : "Name : " + data[j].medicineName, 
       "medicinePotency" : "Potency : "+ data[j].medicinePotency, 
       "medicinePrice" :"Price : " +data[j].medicinePrice, 
       "medicineQuantity":"Quantity : " +data[j].medicineQuantity 
      } 
      ] 
     } 
    }); 
} 
}]); 

谁能告诉我的错误,即时通讯制造,泥质我要感谢:)

回答

1

更新从

for(j=0; j<data.length; j++){ 
    $scope.medicineList = [{ 
     "medicineId" : "Id : " + data[j].medicineId, 
     "medicineName" : "Name : " + data[j].medicineName, 
     "medicinePotency" : "Potency : "+ data[j].medicinePotency, 
     "medicinePrice" :"Price : " +data[j].medicinePrice, 
     "medicineQuantity":"Quantity : " +data[j].medicineQuantity 
    } 
    ] 
} 

var medicineList = []; 
for(j=0; j<data.length; j++){ 
    medicineList.push({ 
     "medicineId" : "Id : " + data[j].medicineId, 
     "medicineName" : "Name : " + data[j].medicineName, 
     "medicinePotency" : "Potency : "+ data[j].medicinePotency, 
     "medicinePrice" :"Price : " +data[j].medicinePrice, 
     "medicineQuantity":"Quantity : " +data[j].medicineQuantity 
    });    
} 
$scope.medicineList = medicineList; 

问题 - 你对于每次迭代,由于设置了$scope.medicineList它总是随着最后一个记录而更新。

+1

感谢它的工作:) – Asad

+0

@Asad - 感觉很好,以帮助你 – nikhil

0

@nikhil答案很好,它的工作原理,但有几点值得注意。

  1. $http遗留承诺方法successerror已弃用。使用标准then方法代替:

    $http({ 
        method: 'GET', 
        url: '/yourUrl' 
    }).then(
    function successCallback(response) 
    { 
        // Things went ok 
    }, 
    function errorCallback(response) 
    { 
        // Things went bad 
    }); 
    
  2. 您收到可能已经在你所期望的JSON格式,所以您只需将其绑定到的范围,就像数据:

    $scope.medicineList = data;