我的目的是在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客户端对其进行了测试。
答案 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
函数在控制器内,基本上函数参数会导致$http
,app.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
});