Ошибка вызова AngularJS REST

0

В моем проекте у меня есть один json файл, один из которых я развернул на локальном компьютере/сервере и другой, который я развернул на другом сервере.

Вот мой код для вызова json-данных из углового контроллера -

function Controller($scope, $http) {
    $http.get("http://localhost:8080/RESTCall/test.json").
        success(function(data) {
            $scope.lists= data;
        });
}


function Controller2($scope, $http) {
    $http.get("http://<Server IP>:8080/RESTCall/test.json").
        success(function(data) {
            $scope.lists= data;
        });
}

Вот моя страница index.html, где я использую оба этих контроллера:

    <div ng-controller="Controller">    
        <ul ng-repeat="list in lists">
            <li>            
            {{list.testdata}}
            </li>
        </ul>     
    </div>


    <div ng-controller="Controller2">    
        <ul ng-repeat="list in lists">
            <li>            
            {{list.testdata}}
            </li>
        </ul>     
    </div>

Во время выполнения я получаю данные, поступающие с Local Machine/Server OR, но для Controller1 я получаю следующую ошибку:

OPTIONS http://<SERVER IP>:8080/RESTCall/test.json net::ERR_CONNECTION_REFUSED

Когда я получаю прямой http://<SERVER IP>:8080/RESTCall/test.json Я могу получить данные.

  • 0
    Попробуйте это в другом браузере.
  • 0
    @Goldenowner: я пробовал Chrome и Firefox, не работает в обоих случаях ..
Показать ещё 4 комментария
Теги:
rest

1 ответ

1
Лучший ответ

Вы запускаете междоменный запрос (CORS). Перед запуском фактического запроса GET браузер отправит запрос перед полетом OPTIONS. Поэтому вам нужно настроить сервер для ответа на запрос OPTIONS и вернуть соответствующие заголовки Access-Control- *.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню