【问题标题】:Disabling CORS(cross-origin resource sharing) on the Mobile device - Ionic App在移动设备上禁用 CORS(跨域资源共享) - Ionic App
【发布时间】:2016-03-14 21:24:30
【问题描述】:

我创建了一个 Ionic 应用程序,它与基于中间件服务器的 REST API 进行通信。该应用程序执行用户身份验证。为了可以在浏览器(谷歌浏览器)中测试应用程序,我已经安装了名为CORS的 Chrome 扩展程序,并且每次我想在浏览器中测试用户身份验证时都激活了该扩展程序。它运作良好。现在我已经在设备上安装了该应用程序,并且我的用户身份验证不再有效。但是我找到了这么一个设置:

{
  "name": "proxy-example",
  "app_id": "",
  "proxies": [
    {
      "path": "/api",
      "proxyUrl": "http://cors.api.com/api"
    }
  ]
}

此设置应保存在ionic.project 文件中。但我不是很好理解。 pathproxyUrl 实际上是什么。我应该为proxyUrl 输入哪个网址?认证链接的端点(链接)? 这样我的用户身份验证也可以在设备上使用,我应该怎么做?

【问题讨论】:

  • 您应该在服务器中设置接受标头。要求在客户设备中激活插件不是一种选择。

标签: angularjs ionic-framework ionic cors


【解决方案1】:

好吧,您的ionic.project 文件应该位于项目的根目录中。 (在www/旁边)

  1. path - 您必须指定的请求前缀,以便将所有此类请求请求转发到您的 proxyUrl
  2. proxyUrl - REST API 的实际网址。

成功添加 ionic.project 文件并重新构建项目后,这应该可以工作。

例子:

REST API 的路径:http://example.com/api/

然后设置path:/apiproxyUrl:http://example.com/api/ 会将来自您的应用程序的所有请求转发到以/api开头的指定proxyUrl

【讨论】:

  • 是的,我设置了 "path": "/api""proxyUrl": "http://myRestApi/api" 但是我通过远程调试在设备上收到错误:POST http://myRestApi 404 (Not Found)
  • 我的端点看起来像下面的例子:https://www.abctest.com/testmiddleware/middleware.php 现在应该怎么看起来像pathproxyUrl
  • 你可以设置path: https://www.abctest.com/testmiddleware/, proxyUrl: /testmiddleware 和你的请求网址为:/testmiddleware/middleware.php
  • 我仍然收到与代码 { "name": "proxy-test", "app_id": "", "proxies": [ { "path": "https://www.abctest.com/testmiddleware/", "proxyUrl": "/testmiddleware" } ] } 相同的错误
  • @Ramosta 抱歉耽搁了。您能否更具体地说明您遇到的错误?
猜你喜欢
  • 1970-01-01
  • 2013-01-12
  • 2018-05-04
  • 2014-01-18
  • 2014-10-08
  • 2014-03-20
  • 2011-06-10
  • 2013-01-18
相关资源
最近更新 更多