AngularJS $ http.get()总是返回错误?

时间:2013-10-13 17:13:34

标签: javascript angularjs

为什么下面的代码运行没有状态的错误回调? 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>

1 个答案:

答案 0 :(得分:1)

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