Javascript 为什么;“警惕”;总是显示第一个?

Javascript 为什么;“警惕”;总是显示第一个?,javascript,angularjs,Javascript,Angularjs,我不明白为什么它总是弹出第一个警报,无论我输入的是对是错。你能帮我看看我的代码,告诉我我做错了什么吗。多谢各位 <script> var myapp = angular.module('myapp', []); myapp.controller('Alerts', function getAlerts($scope, $http) { $scope.name = null; $scope.host = null; $s

我不明白为什么它总是弹出第一个警报,无论我输入的是对是错。你能帮我看看我的代码,告诉我我做错了什么吗。多谢各位

<script>
    var myapp = angular.module('myapp', []);
    myapp.controller('Alerts', function getAlerts($scope, $http) {

        $scope.name = null;
        $scope.host = null;
        $scope.searchs = [];
        $scope.hide = false;

        $scope.getSearch = function(name, host) {
            $scope.hide = $scope.hide = true;
            var data = {
                name: name,
                host: host
            };
            var url = "https://h2kgcp144d.execute-api.us-east-2.amazonaws.com/Testing-midterm/rds-search-alert-info";

            $http.post(url, data)
                .then(
                    function(response) {
                        $scope.searchs = angular.fromJson(response.data);
                        alert('Alerts found!');
                        //$scope.hide = false;
                    },
                    function(error) {
                        alert('Failed to search!');
                        //$scope.search = false;
                    });
        };
    });
</script>

var myapp=angular.module('myapp',[]);
myapp.controller('Alerts',函数getAlerts($scope,$http){
$scope.name=null;
$scope.host=null;
$scope.searchs=[];
$scope.hide=false;
$scope.getSearch=函数(名称、主机){
$scope.hide=$scope.hide=true;
风险值数据={
姓名:姓名,,
主持人:主持人
};
变量url=”https://h2kgcp144d.execute-api.us-east-2.amazonaws.com/Testing-midterm/rds-search-alert-info";
$http.post(url、数据)
.那么(
功能(响应){
$scope.searchs=angular.fromJson(response.data);
警报(“找到警报!”);
//$scope.hide=false;
},
函数(错误){
警报('搜索失败!');
//$scope.search=false;
});
};
});

您在成功和失败案例中都设置了警报。如果这是您想要的,则从成功案例中删除警报:

function(response) {
                    $scope.searchs = angular.fromJson(response.data);
                    //$scope.hide = false;
                },

你期望发生什么?为什么您认为它应该显示第二个警报?服务器的响应代码是200?如果是这样,第一个回调将始终被调用。您的请求不会失败,它只返回一个空结果集。空结果集不是“错误”。如果你只想抛出一个错误来查看它的行为,只需添加一个假URL,它就会抛出一个404,你就会收到错误警报。谢谢大家的帮助,让我了解发生了什么,状态响应200,所以它不是错误。