【问题标题】:Ionic 4 Origin ionic://localhost is not allowed by Access-Control-Allow-OriginAccess-Control-Allow-Origin 不允许 Ionic 4 Origin ionic://localhost
【发布时间】:2023-12-08 02:12:01
【问题描述】:

在我的 Ionic 4 Angular 项目中,从我的 iOS 模拟器中的服务器请求 json 文件时出现以下错误。

由于访问控制检查,XMLHttpRequest 无法加载 https://myServer.com/api。 cordova.js:1540

加载资源失败:Access-Control-Allow-Origin 不允许 Origin ionic://localhost。

在带有 Access-Controls-origin 插件的 Chrome 浏览器中,我没有收到错误消息。我该如何解决这个问题?

【问题讨论】:

  • 请指定您使用的服务器端技术

标签: ionic-framework cors ionic4


【解决方案1】:

点击此链接 - 3 Ways to Fix the CORS Error — and How the Access-Control-Allow-Origin Header Works。第一个选项(安装 moesif CORS 扩展)对我有用。

当发出跨域请求但服务器未在响应中返回所需的标头(未启用 CORS)时,CORS 错误在 Web 应用程序中很常见。仅当您出于测试目的从本地主机运行应用程序时才会发生这种情况。

【讨论】:

    【解决方案2】:

    您需要在请求的资源处添加 ("Access-Control-Allow-Origin", '*') 标头。

    【讨论】:

    • 请用一些简短的评论解释您的答案,例如我们为什么需要这样做。
    • 因为这就是 HTTPRequests 在 CORS 下的工作方式。持有响应的服务器必须接受来自发送请求的域的传入请求。为此,您必须配置您的服务器响应设置匹配的 Allow-Origin 标头