[AngularJS]在 Angularjs 之前变量中的获取输入的值提交来电 webapi

发布时间: 2017/4/16 20:24:56
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我想要访问内部变量,可以使用在 AngularJS 中,以便我可以把它添加到其中,我可以调用其余的帮助字符串输入的字段值的 api。

请帮助。

<body ng-app="myApp">
   <div ng-controller="myCtr">
       <form  name="myForm">
           <input type="text" ng-model='pinCode'  id="zip" onBlur="myZipcode">
           {{city}}
           {{state}}
       </form>
  </div>
  <script>
    var zip;
    var pat1;
      function myZipcode(){
           zip = document.getElementById("zip").value;
           pat1 = 'http://ziptasticapi.com/'+zip;   
      }
    var myApp = angular.module('myApp' , []);
    myApp.controller('myCtr', function($scope, $http){
        var path = 'http://ziptasticapi.com/12345'  
        $http.get(pat1).success(function (response) {
        $scope.city = response.city;
        $scope.state = response.state;});    
    });
  </script> 
</body>

这里在 http.get 服务如果我使用 path 变量而不是 pat1 它工作。 我想要的国家和城市没有的形式提交,并从 REST API 调用来动态的另一件事。这就是为什么想里面一个变量来完成这项任务的输入的值

解决方法 1:

不需要定义为额外 var pinCode 因为你用 ng-model 这样你就可以访问 pinCode 从您的控制器。此外应使用 ng-blur 而不是 onBlur

你可以使用像

HTML:

<input type="text" ng-model='pinCode'  id="zip" ng-blur="myZipcode()">

控制器︰

    var myApp = angular.module('myApp' , []);
    myApp.controller('myCtr', function($scope, $http){
            $scope.pinCode= ''; // defaulr empty
            var path = 'http://ziptasticapi.com/';
            $scope. myZipcode = function() {
                $http.get(path + $scope.pinCode).success(function (response) {
                   $scope.city = response.city;
                   $scope.state = response.state;
                }); 
            };  
        });
赞助商