我的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问题都将发生在服务器端。