我正在使用 AngularJS 1.2.0。当我使用 $resouce 调用 Web 服务时,响应变量始终为空。正确调用了 Web 服务,并且 Web 服务正在将结果发送到浏览器。问题是 (callback(response){}) 响应总是空的。
angular.module('app').factory('geoCoding',['$resource', function ($resource) {
return $resource('http://open.mapquestapi.com/geocoding/v1/address', {key: getGeoKey()}, {
locate: {method: 'GET', isArray: false}
});
}]);
$scope.getLocations = function (locationName) {
return geoCoding.locate({location: locationName}).$promise.then(
function (response) {
log.log('response ', response);
if (response && response.data && response.data.results && response.data.results[0]) {
var locations = [];
response.data.results[0].locations.forEach(function (location) {
locations.push({name: geoUtils.location2String(location), location: location});
});
return locations;
} else {
return {};
}
}, function (error) {
log.error('Locations Query error: ', error);
});
};