【问题标题】:CORS issue while running Ionic 2运行 Ionic 2 时出现 CORS 问题
【发布时间】:2017-03-05 06:38:47
【问题描述】:

我是 Ionic2 的新手,我正在尝试通过我的 Ionic 2 应用程序访问一些外部服务,但应用程序在控制台中抛出以下错误。

XMLHttpRequest 无法加载 https://xxxxxxxx.xxx.xxxxxx.com/xxx/xxxx/services?xxx-client=007。 对预检请求的响应未通过访问控制检查:否 请求中存在“Access-Control-Allow-Origin”标头 资源。因此不允许使用原点“http://localhost:8100” 使用权。响应的 HTTP 状态代码为 500。

我还在 ionic.config.json

中添加了代理
{
  "name": "XXX XXX",
  "app_id": "",
  "v2": true,
  "typescript": true,
  "proxies": [{
      "path": "/xxx/xxxx/services?xxx-client=007",
      "proxyUrl": "https://xxxxxxxx.xxx.xxxxxx.com?xxx-client=007"
  }]
}

我做错了什么?

请帮我解决这个问题。 (为了防止版权,我已经替换了原来的服务名称)

提前致谢

【问题讨论】:

  • 我认为如果您在手机中尝试过,则不会出现问题。仅当您在浏览器中执行离子服务时才会发生这种情况。另外,如果你想让它在浏览器中工作,你需要安装这个适用于 Chrome 的 CORS 插件 - chrome.google.com/webstore/detail/allow-control-allow-origi/… 让我知道这是否有效。 :)
  • 您需要在服务器端设置 CORS。这取决于您使用的服务器端技术。
  • @SagarKulkarni:好吧,不使用任何插件,我使用 chrome.exe --user-data-dir="C:/Chrome dev session" --disable-web-security RUN 提示符 (win+r) 中的命令在没有网络安全的情况下运行 chrome,通过它我的应用程序运行顺利。但由于这是一个临时修复,我正在寻找任何需要添加到我的项目中的代码,就像我使用代理但我没有为我工作一样。
  • @suraj:我可以在客户端做些什么来解决这些问题吗?
  • 你在手机上检查过它是否有效吗?为android构建apk后没有任何插件?

标签: ionic2


【解决方案1】:

试着安装这个Chrome Extension

更新:

据我所知,浏览器有same-origin policy。因此,默认情况下,它将阻止您对另一个(第二个)域上存在的资源进行请求。然后安装此扩展程序将允许在您的浏览器上使用cross origin resources sharing,因此您将能够访问该资源。 (假设所有域都可以访问你第二个域的资源)

【讨论】:

  • 请详细说明解决方案。为什么安装此扩展程序可以解决问题以及如何解决?
  • 据我所知,浏览器有same-origin policy。因此,默认情况下,它将阻止您对另一个(第二个)域上存在的资源进行请求。然后安装此扩展程序将允许 cross origin resources sharing 在您的浏览器上,因此您将能够访问该资源。 (假设所有域都可以访问你的第二个域上的资源)
  • 用这些知识更新你的答案可能是个好主意。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-03-28
  • 2018-02-16
  • 2015-12-15
  • 2020-06-26
  • 2018-02-19
  • 2018-02-09
  • 2018-03-28
相关资源
最近更新 更多