AngularJS:从文本框调用值更改时的httpget

时间:2016-01-07 17:47:42

标签: javascript angularjs

我有一个Web服务,它在调用时返回json文件,其中包含一个条目id的参数。我有一个angular方法返回从该方法返回的数据。我不知道如何在id的输入发生变化时调用该服务,因为我想在提供新值时调用该方法。

我为Id传入的参数称为Reference。 HTML返回对象,引用为1234,但如果我更改了值,我就不知道如何调用该服务。

这是我到目前为止所做的:

角:

var app = angular.module("myModule", [])
.controller("myController", function ($scope, $http) {
    var res = $http({
        method: 'GET',
        url: 'AirPortrWebService.asmx/DashboardDetail',
        params: { Reference : '1234' }
    })
    .then(function (response) {
        $scope.booking = response.data
    });
    $scope.test = "Angular Method Called";
    $scope.Reference = '1234';

});

HTML

<!DOCTYPE html>
<html>
<head>
    <script src="scripts/angular.js"></script>
    <script src="app/NewAppTwo.js"></script>
</head>
<body ng-app="myModule" ng-controller="myController">
    {{test}}
    {{Reference}}
    <br />
    <br />
    <input type="text" ng-model="Reference" ng-change="booking"/>

    {{booking}}
</body>
</html>

2 个答案:

答案 0 :(得分:2)

将ng-change =“booking”更改为每次模型Refences更改时调用的函数:

$scope.getReference = function(referenceNumber){
  $http({
         method: 'GET',
         url: 'AirPortrWebService.asmx/DashboardDetail',
         params: { Reference :  referenceNumber}
  }).function (response) {
     $scope.booking = response.data
  });
}

<input type="text" ng-model="Reference" ng-change="getReference(Reference)"/>

答案 1 :(得分:1)

试试这个:

var app = angular.module("myModule", [])
.controller("myController", function ($scope, $http) {
    $scope.refresh = function(){
        var res = $http({
            method: 'GET',
            url: 'AirPortrWebService.asmx/DashboardDetail',
            params: { Reference : $scope.Reference }
        })
        .then(function (response) {
            $scope.booking = response.data
        });
    }
    $scope.test = "Angular Method Called";
    $scope.Reference = '1234';

});

和html

<input type="text" ng-model="Reference" ng-change="refresh()"/>

ng-change每次输入更改时调用给定的函数。 refresh()不需要参数,因为它使用$scope.Reference