我有两个选择:一个用于国家,另一个用于区域。国家选择是静态填充的,但区域选择必须通过POST请求依赖于当前国家/地区填写。
我已经创建了一个响应country参数和相应JSON的服务器方法,制作了一个用于将数据加载到select中的代码,但是当我将这些代码放入监视器时它无法正常工作:
.....................
]).factory('helperService', [
'$http', '$log', function($http, console) {
var checkDiscount, getRegions;
getRegions = function(countryCode) {
return $http({
method: 'POST',
url: '/api/regions/',
data: {
country_code: countryCode
}
});
};
.....................
]).controller('orderController', [
.....................
$scope.$watch('billing_country', function(value) {
helperService.getRegions($scope.country).success(function(result) {
$scope.regions = result;
return $scope.order.billing_state = $scope.regions[0];
});
return $scope.country = value;
});
答案 0 :(得分:0)
您对factory
的调用必须返回一个对象,目前它根本没有返回任何内容。
将其更改为以下内容:
.factory('helperService', ['$http', '$log', function($http, console) {
var checkDiscount;
var service = {
getRegions: function(countryCode) {
return $http({ method: 'POST',
url: '/api/regions/',
data: { country_code: countryCode }
});
}
};
return service;
}])/****/
然后,您对helperService.getRegions
的通话将会有效。