![](/img/trans.png)
[英]How do I get data to display in Angular from API in Express?
[英]GET data from Express to Angular
你们能帮我吗? 我最近一直在尝试学习角度,但遇到了一个小问题,我无法在简单的角度应用中从服务器分发数据。
我已经创建了一个快速的本地主机服务器,并且在服务器的文件夹中有一个包含3个.js文件的文件夹,其中包含我的应用程序的数据。 假设其中一个被称为“菜单”,其中包含具有属性的对象数组,例如:“名称”,“价格”,“成分”。
module.exports = [
{
id: 1,
name: 'Margherita',
ingredients: [1, 2],
price: 14.90
},
{
id: 2,
name: 'Funghi ',
ingredients: [1, 2, 3],
price: 16.90
},
{
id: 3,
name: 'Vesuvio',
ingredients: [1, 2, 4],
price: 17.90
}];
在我的Web浏览器中的端口:8080上启动服务器后,我输入:“ localhost:8080 / menu”,然后可以查看所有对象。
现在在我的角度应用程序中,我创建了一个服务
app.factory('menu', ['$http', function($http) {
return
$http.get('http://localhost:8080/menu')
.success(function(data) {
return data;
})
.error(function(err) {
return err;
});
}]);
并将其注入到我的MainController.js
app.controller('MainController', ['$scope','menu', function($scope, menu) {
$scope.today = new Date();
menu.success(function(data){
$scope.pizzaMenu = data;
});
}]);
index.html
<div class="appetizers row" ng-repeat="pizza in pizzaMenu.module.export">
<div class="item col-md-9">
<h3 class="name"> {{pizza.name}} </h3>
<p class="description"> {{pizza.ingredients}} </p>
</div>
<div class="price col-md-3">
<p class="price"> {{pizza.price}} </p>
</div>
</div>
我的思想和代码有什么问题?
亲切的问候,Mikolaj
我认为问题是您使用的是jQuery类型的回调语法。 您需要使用.then
,而不是.success
和.catch
代替.error
。
app.factory('menu', ['$http', function($http) {
return $http.get('http://localhost:8080/menu').catch(function(data) {
console.log(data);
throw data;
});
}]);
menu.then(function(data){
$scope.pizzaMenu = data;
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.