2

为什么下面的代码运行没有状态的错误回调?Firefox 中的 Web Developer 报告状态代码 200。

有没有办法调试这个?

<meta charset="utf8">

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.min.js"></script>

<script type="text/javascript">

    function RoomListCtrl($scope, $http) {

        $scope.getRooms = function() {

                $http({method: 'GET', url: 'http://code.angularjs.org'}).

                success(function(data, status, headers, config) {
                // this callback will be called asynchronously
                // when the response is available
                    alert('succes');
                }).

                error(function(data, status, headers, config) {
                // called asynchronously if an error occurs
                // or server returns response with an error status.
                    alert('error');
                });
        }

        $scope.submit = function() {

            this.getRooms();
        }

    }

</script>

<body ng-controller="RoomListCtrl"><form ng-submit="submit()">
    <input type="text" value="" ng-model="search" name="search" >
</form></body>

4

1 回答 1

1

正如@robertklep 上面指出的那样,除非该域明确允许,否则您不能向另一个域发出 ajax 请求。请参阅他提供的CORS链接。一种解决方法(假设您无法控制您从中请求数据的服务器的 CORS 策略)是在服务器支持的情况下使用JSONP请求。

于 2013-10-13T18:00:20.517 回答