我有一个用于搜索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找不到的消息?
答案 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.
});