Ответ становится пустым после выполнения HTTP-вызова get с последующим предупреждением CORB в Ionic - PullRequest
0 голосов
/ 07 ноября 2019

Невозможно понять, почему ответ приходит как null.

При тестировании с фиктивными данными он работает отлично, но когда я пытаюсь поразить наш API, который размещен в AWS EC2, ответ приходит как null, и сообщение об ошибке появляется в консоли следующим образом

Cross-Origin Read Blocking (CORB) blocked cross-origin response http://example.com/search/api?limit=10&offset=10 with MIME type application/json. See https://www.chromestatus.com/feature/5629709824032768 for more details.

Тем не менее, я проверил на вкладке Сеть браузера, он показывает 200 OK. Кроме того, я проверил этот вызов API с клиентом Postman, и данные показываются.

Я пробовал различные способы отключения опции веб-безопасности в браузере Chrome, но безуспешно. У меня также есть расширение CORS в моем браузере Chrome.

Может кто-нибудь подсказать, что я здесь делаю неправильно.

Сервис

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';

@Injectable({
  providedIn: 'root'
})
export class SearchService {

  searchUrl = 'http://example.com/search/api?limit=10&offset=10'
  mockDataUrl = 'https://jsonplaceholder.typicode.com/posts';

  constructor(private httpClient: HttpClient) { }

  getMockData() {
    return this.httpClient.get(this.mockDataUrl);
  }

  getSearchData() {
    return this.httpClient.get(this.searchUrl);
  }

}

Компонент

export class AppComponent implements OnInit {

  ngOnInit() {
    this.searchService.getSearchData().subscribe(
      (response) => { console.log(response); }
    );
  }
}

1 Ответ

0 голосов
/ 07 ноября 2019

Это единственное решение , которое работало для меня.

После того, как я установил это расширение и включил его, я смог увидеть ответ.

...