无法弄清响应为什么以null
的形式出现。
在使用模拟数据进行测试时,它可以很好地工作,但是当我尝试访问AWS EC2中托管的API时,响应将显示为null
,错误消息将显示在控制台中,如下所示< / p>
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
。另外,我用Postman客户端验证了此API调用,并显示了数据。
我尝试了各种方法来禁用Chrome浏览器中的网络安全选项,但没有成功。我的Chrome浏览器中也有CORS扩展程序。
任何人都可以在这里指导我做错了什么。
服务
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); }
);
}
}