代码:
app.service('dataServices', function ($http) {
...
this.getBases = function (lat, lng) {
var promise = $http.get('/app/nearestbase/?lat=' + lat + '&lng=' + lng);
promise.error(function (msg) { console.log(msg); });
return promise;
};
});
// root controller
function RootCtrl($scope, $location, dataServices) {
navigator.geolocation.getCurrentPosition(function (p) {
dataServices.getBases(p.coords.latitude, p.coords.longitude).success(function (data) {
$scope.model.baseList = data;
});
});
};
正如您在根控制器中看到的那样,我得到了位置,然后在我编写的服务中使用位置变量dataServices.getBases
。我已经能够测试是否成功找到了坐标,并且调用了 dataServices.getBases,但该$http.get
函数没有触发。处理调用的服务器端方法永远不会被命中。没有错误,警告......什么都没有。
我在该服务中有其他功能使用 $http.get 没有问题。