2017-04-04 78 views
1

我与AngularJS一个新手,我想以检索所有产品在HTML页面中,但它说明不了什么,即使“/ allProd”完美的作品无角

app.js

var app=angular.module('crm',[]); 
app.controller('CRMController', function($scope,$http){ 
    $scope.products=[]; 
    $http.get('/allProd') 
    .then(function(data){ 
     $scope.products=data; 
    }); 
}); 

index.html的

<html data-ng-app="crm" > 
<head> 
    <meta charset="ISO-8859-1"> 
    <title>Catalog</title> 
    <link rel="stylesheet" type="text/css" href="bootstrap-3.3.4-dist/css/bootstrap.min.css"/>  
    <link rel="stylesheet" type="text/css" href="css/style.css"/> 
</head> 
<body data-ng-controller="CRMController"> 
    <table class="table"> 
    <thead> 
     <tr> 
     <th> REF </th><th> DES </th><th> PRICE </th> 
     </tr> 
    </thead> 
    <tbody > 
     <tr data-ng-repeat="p in products.content"> 
     <td>{{p.reference}}</td> 
     <td>{{p.designation}}</td> 
     <td>{{p.price}}</td> 
     </tr> 
    </tbody> 
    </table> 

<script type="text/javascript" src="angular/angular.min.js"></script> 
<script type="text/javascript" src="angular/angular-sanitize.min.js"></script> 
<script type="text/javascript" src="js/app.js"></script> 
</body> 
</html> 

What i got

PS:我使用角1.5.6和弹簧引导1.5.2.RELEASE

+0

你确认了你的'data'变量是否为null? – Barak

+0

快速浏览一下你的html 和你得到的数据。它应该是 –

+0

它的作品谢谢你! – MyungHee

回答

0

按照documentation for $http实际响应主体处于响应的data属性。

$http.get('/allProd') 
.then(function(response){ 
    $scope.products = response.data; 
}); 
+0

我试过你的建议,但没有改变 – MyungHee

0

你将不得不做

$scope.products = response.data 

另外,在您的NG-重复就不得不提一个数组,但似乎你的初始化和赋值不同步为$在scope.products控制器。

如果response.data.products是不是一个数组,没有一点声明$scope.products作为数组

+0

我试了response.data,但没有改变 – MyungHee

0

这是因为成功接收的数据的另一个属性叫里面的数据,其实际持有所需的产品数据。

尝试改变代码

var app=angular.module('crm',[]); 
app.controller('CRMController', function($scope,$http){ 
    $scope.products=[]; 
     $http.get('/allProd') 
     .then(function(data){ 
     $scope.products=data.data; 
    }); 
}); 
+0

我以前试过但没有改变 – MyungHee

0

在你的.js文件改变后: $ scope.products = data.data; “P在产品”

你并不需要。内容:

然后,你的HTML文件从“在products.content P” 以下更改。因为.content不是数据结构的一部分。

+0

啊...查理伍在这上打了我。 – dowgwi