【问题标题】:Error read text file from get request Angular从获取请求Angular读取文本文件时出错
【发布时间】:2021-04-04 09:38:30
【问题描述】:

我正在尝试使用 Angular Cli 11.0.6 从请求 GET 中的文件中读取内容,我使用此代码读取文件:

 getFileText(url): Observable<any> {
  return this.http.get(url,{ responseType: 'text'})
  .pipe(
    retry(1),
    catchError(this.handleError)
  )
}

然后我运行“getFileText()”方法并将内容放在我的视图中:

  this.myServices.getFileText(this.url)
    .subscribe((data: any) => {
      this.txtcontent = data;
    });

当我从我的桌面浏览器中看到它时效果很好。但是当我从我的手机移动浏览器测试时,使用相同的应用程序,它不起作用,它显示错误:

错误代码:0 消息:http://urlfile.example 的 Http 失败响应:0 未知错误

我尝试将 responseType 更改为 JSON 或 Blob,但它显示了相同的错误,有谁知道为什么会发生这种情况?谢谢。

【问题讨论】:

  • 需要调试。正如它所说的错误是未知的。您可以尝试使用调试工具连接到您的设备并尝试查看发生了什么
  • 您好,我使用调试工具进行了测试,我收到此消息错误“来自原点 '192.168.0.13:4200' 已被 CORS 策略阻止:没有 'Access-Control-Allow-Origin' 标头存在请求的资源。", 如何在我的标头中添加 http 选项?
  • 尝试通过“{your server technology} setup CORS”查看解决方案

标签: angular file text get request


【解决方案1】:

如果您的服务器和 Angular 应用程序都在 localhost 中运行,则可能是与 CORS 源相关的问题。

您可以参考这个链接:I get "Http failure response for (unknown url): 0 Unknown Error" instead of actual error message in Angular

【讨论】:

  • 我的 Angular 应用是 localhost,我试图调用的服务来自不同的服务器
  • from origin '192.168.0.13:4200' 已被 CORS 策略阻止...。对于此问题,将在后端服务器端应用修复。方法将取决于使用的服务器(哪个服务器?),但基本上在响应标头中您需要返回“Access-Control-Allow-Origin”:“”。 "" 将允许来自所有 IP 地址的 API 调用。
猜你喜欢
  • 1970-01-01
  • 2016-03-04
  • 2014-10-24
  • 2014-05-08
  • 1970-01-01
  • 1970-01-01
  • 2023-01-13
  • 2022-01-14
  • 1970-01-01
相关资源
最近更新 更多