0
我試圖將郵政編碼傳遞給使用此zip運行API調用的服務。問題是,每次我輸入一個zip和搜索時,郵政編碼都不會正確地傳遞給服務,並且我的HTTP請求以未定義的郵政編碼發送。無法將變量從控制器傳遞到AngularJS中的服務
這裏是我的控制器:
angular.module('MainCtrl', []).controller('MainController', ['$scope', 'Reps', function($scope, Reps) {
$scope.search = function() {
Reps.search($scope.zipCode)
.success(function(response) {
console.log('Success ' + response);
})
.failure(function(response) {
console.log('Failure ' + response);
})
}
}]);
我的服務:
angular.module('MainService', []).factory('Reps', ['$http', function($http) {
var root = 'https://www.api.com/locate?';
var apiKey = '&apikey=foo';
var fields = '&fields=bar';
return {
search: function(zipCode) {
var query = root + zipCode + apiKey + fields;
return $http({
method: 'POST',
url: query
})
}
}
}])
我的形式:
<form method="post" enctype="text/plain" class="form-inline">
<div class="form-group">
<label for="searchForRep">Zip Code:</label>
<input type="text" class="form-control" id="searchForRep" ng-model="zipCode" placeholder="Zip Code (11216)">
</div>
<button ui-sref="reps" ng-click="search()" type="submit" class="btn btn-default">Submit</button>
</form>
因此,如前所述,郵編似乎並沒有傳遞到我的服務正確,導致HTTP請求發送爲:
https://www.api.com/locate?undefined&apikey=foo&fields=bar
任何想法是什麼問題與我的代碼?
謝謝!我只是假定我在這裏做了一些錯誤的事情,所以我幾乎沒有看過我的其他文件。在處理這個問題之後,我意識到我只是在我的一條路線中錯過了控制器。 – lepp