Ionic 2 iOS cors



我在离子 2 中遇到了 CORS 的问题。当我点击登录端点时,我从iOS build on a phone收到以下 CORS 错误

[Error] Failed to load resource: Origin http://localhost:8080 is not allowed by Access-Control-Allow-Origin.

我没有从应用程序的Android版本中看到此问题。是否可以在 Ionic 应用程序中启用设置或内容来解决 CORS 问题?

提前致谢

你必须在ionic.config中设置代理.js像这样:

{
  "name": "*******",
  "app_id": "******",
  "v2": true,
  "typescript": true,
  "proxies": [
    {
      "path": "/api",
      "proxyUrl": "http://localhost:8080"
    }
  ]
}

这是Ionic提供的示例项目,其中包含代理设置和返回静态数据的小型服务器。https://github.com/mhartington/V2Proxy

仅解决方法 - 不是一个完美的解决方案


我遇到了同样的问题,我的带有后端 ASP.net ionic 3应用程序运行良好,它不适用于IOS(苹果手机x - IoS 11模拟器(。

终于我得到了一个解决方案

溶液

我更改了离子应用程序的web view选项。

首先,打开配置.xml并添加以下属性

<feature name="CDVWKWebViewEngine"> <param name="ios-package" value="CDVWKWebViewEngine" /> </feature> <preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />

然后

删除所有插件和平台,然后运行或构建您的应用程序

就是这样

此网址中给出的详细步骤

在工作中,我们遇到了同样的错误,只发生在iPhone中,经过大量研究,我们发现这个问题指的是服务器(API(,而不是移动应用程序。

我们的 API 是一个 ASP.NET 应用程序,通过 IIS 公开。我不知道你的环境是否相同,但基本上解决我们问题的是:

服务器上,在 IIS 中,在我们应用程序的应用程序池中,我们将 Managed Pipeline Version 属性从 Classic 更改为 Integrated ,问题就解决了。

我也遇到了这个问题。服务器不是本地托管的,但它们也没有启用 CORS。问题是HTTP请求将源设置为localhost,而它应该file://

有人知道如何避免这种情况吗?

相关内容

  • 没有找到相关文章

最新更新