Angularjs $ http.get不起作用

时间:2015-04-26 09:05:36

标签: javascript angularjs rest angularjs-http

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

提前致谢。

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

错误是:TypeError:无法读取属性' get'未定义的     在getUsersFromLocal。

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

3 个答案:

答案 0 :(得分:2)

尝试这样,这是我在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;
                });
    });

答案 1 :(得分:1)

如果我理解正确$http函数在控制器内,基本上函数参数会导致$httpapp.controller('mainCtrl', function() { $scope.getUsersFromLocal = function() { $http.get('http://localhost:8080/people'). success(function(data) { $scope.data = data; }); }; $scope.getUsersFromLocal(); //call ajax method }); 对象存在,你需要将它们从参数&同时删除了id之外的返回语句,该语句无论如何都无法工作。

<强>代码

def self.searchID(query)
    where("id like ?", "#{query}") 
end

答案 2 :(得分:1)

如果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
});