我是角度js的初学者,在我的应用程序中,我正在使用提供的web api,当我们输入pincode时放置。我在我的控制器中调用textfield的keyup事件中的一个函数,但是它会抛出一些错误,并且有时候没有使get调用正常。有没有办法解决这个问题?实际上我需要的是,只有当用户停止或等待在文本字段中输入下一个键时才进行api调用
HTML
<input type="text" ng-keyup="check();" ng-model="place" placeholder="Enter a pincode"/>
<p>{{data.city}}</p>
Controller.js
app.controller('MyController', function($scope,$http) {
$scope.check = function(){
var req = {
method: 'GET',
url: 'https://sphirelabs-indian-pin-codes.p.mashape.com/pincode.php?code='+$scope.place,
headers: {
"Key": "api key",
"Accept": "application/json"
},
}
$http(req).
success(function(data, status, headers, config) {
$scope.data = data;
}).
error(function(data, status, headers, config) {
conosole.log("Error");
})
};
});
答案 0 :(得分:0)
不要使用ng-keyup
事件。只需在表单中打包您的输入,并在使用check()
发送此表单时调用ng-submit
函数:
<form ng-submit="check()">
<input type="text" ng-model="place" placeholder="Enter a pincode"/>
</form>
<p>{{data.city}}</p>
因此,当您在输入中输入密码并按Enter键时,将调用check()
函数。