我是angular 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");
})
};
});
不要使用ng-keyup
事件。只需将您的输入包装在表单中,并在使用ng-submit
:发送此表单时调用check()
函数
<form ng-submit="check()">
<input type="text" ng-model="place" placeholder="Enter a pincode"/>
</form>
<p>{{data.city}}</p>
因此,当您在输入中输入pincode并点击回车键时,check()
函数将被调用。