Angular JS:获取http调用之外的范围值

时间:2018-01-30 09:27:14

标签: javascript angularjs html5 function closures

我有多个选择框。对于这些选择框中的每一个,http调用具有不同的URL。我需要将响应数据加载到这些框中:



function getFilterDataUrl(category_url) {
		var filterUrl = Config.endpoints.getMilestoneFilter.url+"?filter_name="+category_url;
		 $http({
			  url: filterUrl,
			  method: Config.endpoints.getMilestoneFilter.method
			  
		}).success(function successCallback(response){
			switch(category_url) {
			case 'REGION': $scope.REGION = response.data;
				break;
			case 'SHIPPING_POINT': $scope.SHIPPING_POINT = response.data;
				break;
			}
		});
		
	}
	getFilterDataUrl('REGION');
	getFilterDataUrl('SHIPPING_POINT');

<div class="form-group">
		<label for="pwd">REGION:</label>
		<multiselect class="input-xlarge" multiple="true" ng-model="REGION" options="i in REGION"
		 change="selected()"></multiselect>
	</div>
	
		<div class="form-group">
		<label for="pwd">SHIPPING POINT:</label>
		<multiselect class="input-xlarge" multiple="true" ng-model="SHIPPING_POINT" options="i in SHIPPING_POINT"
		 change="selected()"></multiselect>
	</div>
&#13;
&#13;
&#13;

但是当我尝试使用此$scope.REGION$scope.SHIPPING_POINT时,我得到了#34;未定义&#34;。在成功函数内部,我能够获得价值。请帮助我理解在getFilterDataUrl()函数

之外获取这些范围值时我做错了什么

1 个答案:

答案 0 :(得分:-1)

在js的开头定义$ scope.REGION和$ scope.SHIPPING_POINT。