API работает в браузере с запросом, отображаемым в сети, но не из Angular2

Я пытаюсь вызвать API с помощью Angular 2, но он отправляет ошибку CORS. Однако, если я попытаюсь вызвать тот же API из http://www.webtoolkitonline.com/javascript-tester.html (тестер Javascript) или http://hurl.it, затем выполняет его правильно.

Я также пробовал добавлять заголовки со стороны клиента.

Мой угловой код, как показано ниже

   private _apiCountryUrl = 'http://52.179.4.123/smvs/index.jsp?json={"COUNTRY":[{"ACTION":"SELECT"}]}';

    getTotalCountry() : Observable<ICountry[]> {
        let headersNew = new HttpHeaders();
        headersNew.append('Access-Control-Allow-Headers', 'Content-Type');
        headersNew.append('Access-Control-Allow-Methods', 'GET');
        headersNew.append('Access-Control-Allow-Origin', '*');


        return this._http.get<ICountry[]>(this._apiCountryUrl, {headers: headersNew})
        .do(data => console.log('Country' + JSON.stringify(data)))
        .catch(this.handleError);
    }

Когда вызывается API, я получаю вывод, как показано ниже.

введите здесь описание изображения

Если я напишу код, как показано ниже

$(document).ready(function() {
        $.ajax({
          type: 'GET',
          url: 'http://52.179.4.123/smvs/index.jsp?json=%7B%22COUNTRY%22%3A%5B%7B%22ACTION%22%3A%22SELECT%22%7D%5D%7D',
          success: function(res) {
            alert(res);
          },
          error: function(error) {
            alert("error!" + JSON.stringify(error));
          }
        });
    });

Приведенный выше код правильно работает с http://www.webtoolkitonline.com/javascript-tester.html тот же API не вызывается из Angular2. Если это ошибка на стороне сервера, то она даже не должна вызываться при выполнении запроса jQUery.

введите здесь описание изображения


person Khilen Maniyar    schedule 30.11.2017    source источник
comment
@echonax, мой вопрос в том, почему это разрешено с других веб-сайтов, таких как тестер javascript или hurl.it   -  person Khilen Maniyar    schedule 30.11.2017
comment
Возможно, они делают https-запросы, или сервер может разрешить им совершать вызовы.   -  person eko    schedule 30.11.2017