发出HTTP get调用后,响应返回为null,然后在Ionic中发出CORB警告

时间:2019-11-06 21:39:17

标签: angular ionic-framework cors ionic4

无法弄清响应为什么以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); }
    );
  }
}

1 个答案:

答案 0 :(得分:-1)

这是唯一为我工作的solution

一旦我安装了此extension并将其启用,我就能看到响应。