TypeError:$ http.get(...)。then(...)。controller不是一个函数

时间:2016-06-02 08:00:05

标签: angularjs

我正在构建一个应用程序来动态加载和显示AngularJS中数据库的数据,但是当我尝试访问我的ASP.Net(.ASMX Web服务)时(使用$ http.get()),我接收错误:TypeError:$ http.get(...)。then(...)。controller不是一个函数 请帮帮....

控制器代码:

.controller("studentsController", function ($scope, $http ) {
    $http.get("StudentService.asmx/GetAllStudents")
        .then(function (response) {
            $scope.students = response.data;
    })

students.html代码:

<h1>List of Students</</h1>
<ul>
    <li ng-repeat="student in students">
            {{student.name}}
    </li>
</ul>

2 个答案:

答案 0 :(得分:1)

您需要在角度服务和控制器中注入$ http服务,初始化它并调用Web服务。 要么 你可以将你的代码包装在(function(){(你的角度控制器)})()。

答案 1 :(得分:1)

首先确保您的Web服务正常运行。

按以下方式更改控制器代码:

angular.module('myapp')
.controller("studentsController",['$scope', '$http', function (scope, http ) {
    http.get("StudentService.asmx/GetAllStudents")
        .success(function(data) {
          scope.students = data;
        })
        .error(function(data, status) {
           console.error('Response error', status, data);
        })
}]);

未经测试,但应该可以使用。