Ionic代理在Ionic服务上工作,而不是在ios模拟器或设备上



我的ionic应用程序中有一个简单的web服务。。。它连接到远程服务器以执行简单的任务。

代理是这样设置的离子:

  "proxies": [{
     "path": "/api",
     "proxyUrl": "http://example.com/api"
   }]

调用是"/api"。它们在localhost浏览器中正确解析为http://example.com/api(使用ionic serve)。

但在xcode中,url被解析为:

file:///api

我找不到任何关于这方面的具体信息。我给ios打电话的节目怎么样?

我在安卓设备上运行时遇到了同样的问题,解决方案很简单,需要注意的是,这里是我们用来处理CORS问题的代理,这只是桌面浏览器的问题,所以在使用离子服务时,我们需要代理,而不需要为其他设备使用代理。我在服务中使用了以下条件来处理这一问题,而不需要在为任何目标平台构建时进行任何进一步的代码更改。

var APIUrl = '/myproxies';
if (this.platform.is('core') == true){
    APIUrl = '/myproxies';
}else{
    APIUrl = 'http://api.sample.com/SomeSampleAPIProvider';
}
this.http.get(APIUrl+"/Json").map(res => res.json()).subscribe(
    data => {.....

可以参考此链接了解此的使用详细信息。平台

这是预期的操作。ionic CLI代理仅用于ionic CLI服务或运行命令。更多信息:http://blog.ionic.io/handling-cors-issues-in-ionic/

file:///apiurl不会触发Angular浏览器CORS飞行前OPTIONS调用,所以你应该没事。

您遇到的任何其他CORS问题都将发生在服务器端。

最新更新