Невозможно понять, почему ответ приходит как 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); }
);
}
}