怎么抓错误?

时间:2015-06-16 06:37:17

标签: angularjs

我有一个用于搜索pin的文本框:

   <input type="text" class="form-control" ng-model="pin">
    <input type="submit" value=""SEARCH" class="btn btn-search" ng-click="ShowDetailsAboutPin(pin);">

我的功能:

 $scope.ShowDetailsAboutPin = function (pin) {
        if ($scope.showdetail == false && pinTicket != null) {
            $scope.showdetail = true;
            $scope.pin = pin;

            $("#background").addClass("darker");

            $http.get(PinUrl+ 'Pin/'+ $scope.pin)
           .then(Details, ErrorResponse);

        }
        else {
            $scope.showdetail = false;
            $("#background").removeClass("darker");
        }
    }



     var Details = function (response) {
            $scope.data = response.data;
            $scope.Detail = $scope.data;
        }

当用户输入有效的引脚时,一切正常,但我想在用户输入无效引脚时“捕获”错误。我在浏览器的控制台中收到消息

  

未找到

但是如何才能捕获404找不到的消息?

2 个答案:

答案 0 :(得分:0)

如果引脚只包含整数,为什么不使用正则表达式,它只能在视图中完成,假设它是一个五位数,然后在输入中使用。

<input type="text" ng-pattern="/\b\d{5}\b/g" class="form-control" ng-model="pin">

或在您的代码中,您只能使用有效的引脚进行api调用,

   var pinRegex = /\b\d{5}\b/g;

   if (pinRegex.test) {
      $http.get(PinUrl+ 'Pin/'+ $scope.pin)
          .then(Details, ErrorResponse);
  }

答案 1 :(得分:0)

查看有关角$http

的文档

使用.success和.error方法将为您提供所需的所有信息。

// Simple GET request example :
$http.get('/someUrl').
  success(function(data, status, headers, config) {
    // this callback will be called asynchronously
    // when the response is available
  }).
  error(function(data, status, headers, config) {
    // called asynchronously if an error occurs
    // or server returns response with an error status.
  });