如何在AngularJS中向RESTful Web API发出GET请求?

如何在AngularJS中向RESTful Web API发出GET请求?,angularjs,asp.net-web-api,get,ng-controller,Angularjs,Asp.net Web Api,Get,Ng Controller,我正在为CRUD产品制作一个简单的CRUD应用程序。产品有ID、名称和价格。我已经构建了一个ASP.NETWebAPI来存储这些产品,我试图在AngularJS SPA中调用这个API。我构建了一个模块和相应的组件,用于从API获取所有产品,并在视图(listProducts)中呈现它们 我不确定应该如何将API地址放入$http.get()方法中。我的API地址是:localhost:58875/API/products。我的代码: list-products.module.js angula

我正在为CRUD产品制作一个简单的CRUD应用程序。产品有ID、名称和价格。我已经构建了一个ASP.NETWebAPI来存储这些产品,我试图在AngularJS SPA中调用这个API。我构建了一个模块和相应的组件,用于从API获取所有产品,并在视图(listProducts)中呈现它们

我不确定应该如何将API地址放入$http.get()方法中。我的API地址是:localhost:58875/API/products。我的代码:

list-products.module.js

angular.module('listProducts', []);
list-products.component.js

angular.
module('listProducts').
component('listProducts', {
    templateUrl: 'app/products/list-products/list-products.html',
    controller: ['$http',
        function listProductsController($http) {
            var self = this;

            $http.get('http://localhost:58875/api/products').then(function(response) {
                self.products = response.data;
            });
        }
    ]
});
在我看来,我也遇到了麻烦,因为angular告诉我它无法识别我的控制器,我也不知道为什么

list-products.html

<div class="container" ng-controller="listProductsController">
    <h2>Products</h2>
    <hr>    
    <div ng-repeat="p in products">
        <li>{{p.ID}}</li>
        <li>{{p.Name}}</li>
        <li>{{p.Price}}</li>
    </div>     
</div>

产品

  • {{p.ID}}
  • {{p.Name}}
  • {{p.Price}}

  • 尝试用列表产品替换ng控制器,并使用
    $ctrl.products
    @malix是正确的,您还需要像这样删除
    ng controller=“listProductsController”
    @malix?我应该使用$ctrl.products而不是ng repeat吗?使用$ctrl.products和ng repeat尝试用列表产品替换ng控制器,并使用
    $ctrl.products
    @malix是正确的,您还需要像这样删除
    ng controller=“listProductsController”
    @malix?我应该使用$ctrl.products而不是ng repeat吗?使用$ctrl.products和ng repeat