如何从角度控制器调用角度ajax函数

时间:2017-03-14 06:30:40

标签: javascript angularjs ajax

这是我的代码

$scope.GetLocatoinByCountry();

$scope.GetLocatoinByCountry = function () {
        $http({
            method: 'POST',
            url: '/JobPost/GetLocationByCountry',
            data: { countryId: $scope.draftJobPost.countryID }
        }).then(function successCallback(response) {
            var loc = response.data;
            $scope.locations = response.data;
        }, function errorCallback(response) {
            var error = response;
        });
    };

但收到错误

  

TypeError:$ scope.GetLocatoinByCountry不是函数

如何解决这个问题

2 个答案:

答案 0 :(得分:0)

将调用函数移到分配下面:

$scope.GetLocatoinByCountry = function() {
  $http({
    method: 'POST',
    url: '/JobPost/GetLocationByCountry',
    data: {
      countryId: $scope.draftJobPost.countryID
    }
  }).then(function successCallback(response) {
    var loc = response.data;
    $scope.locations = response.data;
  }, function errorCallback(response) {
    var error = response;
  });
};

$scope.GetLocatoinByCountry(); // move it here
  

TypeError:$ scope.GetLocatoinByCountry 不是函数

错误说明了一切。

问题是您正在调用$scope中不存在的函数,并且您稍后将该函数分配给$scope

答案 1 :(得分:0)

我认为在使用Angular 1时,您可以使用$ http或$ resouce来调用API。

在您的情况下:将行$scope.GetLocatoinByCountry();从上方移到下方可以使其正常工作。