在一小段关键事件发生后,以角度js进行调用

时间:2015-02-21 09:20:05

标签: javascript angularjs get timeout angular-http

我是角度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");
          })



    };


});

1 个答案:

答案 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()函数。