2016-01-05 2 views
0

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

Вот мой код для вызова данных 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> 

При выполнении I я получаю данные, которые поступают с 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

Попробуйте его в другом браузере. – SjaakvBrabant

+0

@ Goldenowner: Я пробовал Chrome и Firefox, не работая в обоих случаях. –

+0

Вы уже пробовали другие вещи, чтобы исправить это? Например, очистка данных кеша. Есть много исправлений для этой проблемы в Интернете. В коде нет ничего плохого, это ошибка на стороне клиента. – SjaakvBrabant

ответ

1

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

Смежные вопросы