在一小段时间的按键事件后,在angular js中进行get调用

Make get calls in angular js after a small time of key up event

本文关键字:js angular 调用 get 小段 时间 事件      更新时间:2024-03-18

我是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()函数将被调用。