繁体   English   中英

从Express到Angular获取数据

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM