Angularjs $http.get 不起作用

Angularjs $http.get does not work

我的目的是在 AngularJS 中使用 REST Web 服务,我现在正在进行一些试验。下面的代码不起作用并抛出以下异常。 你能帮我找出问题所在吗?

提前致谢。

function getUsersFromLocal($scope,$http)
{
 $http.get('http://localhost:8080/people').
 success(function(data) {
 $scope.data = data;
 });
return data;
}

错误是:类型错误:无法读取未定义的 属性 'get' 在 getUsersFromLocal.

该服务可以访问,我通过一些 REST 客户端对其进行了测试。

如果我理解正确 getUsersFromLocal 函数在控制器内部,基本上函数参数正在杀死 $scope$http 对象存在,您需要从参数中删除它们 & 也删除在 $http 之外的 return 语句无论如何都不起作用。

代码

app.controller('mainCtrl', function() {
    $scope.getUsersFromLocal = function() {
        $http.get('http://localhost:8080/people').
        success(function(data) {
            $scope.data = data;
        });
    };

    $scope.getUsersFromLocal(); //call ajax method
});

如果getUsersFromLocal不是控制器或服务,而你手动调用这个函数,你应该传递$http$scope对象给它,像这样

module.controller('TestController', function($scope, $http) {

  function getUsersFromLocal($scope,$http) {
    $http.get('http://localhost:8080/people').
      success(function(data) {
        $scope.data = data;
      });
  }

  getUsersFromLocal($scope, $http); // pass this services manually
});

像这样尝试,这是我在 w3school 上找到的。

var app = angular.module('myApp4', []);
    app.controller('customersCtrl', function($scope, $http) {
        $http.get("http://www.w3schools.com/angular/customers.php")
                .success(function(response) {
                    $scope.data= response.records;
                });
    });