问题
最近做一个ionic项目,在开发联调时,应该是服务端做了处理,并没有出现跨域问题。但切换到外网服务器之后,问题出现了。
关于这个问题的描述和解决方案,网上已经有很多问答与博客了,这里只是记录一下我的解简单决办法,以备后用。
方案
整个过程中 http://domain.com/action
是想要访问的远程服务器地址
第一步 修改 ionic.conf.json
添加 proxies 节点
{
"name": "appName",
"app_id": "",
"proxies": [
{
"path": "/action",
"proxyUrl": "http://domain.com/action"
}
]
}
第二步 修改 app.js
在 (function(){})()方法中添加 if语句
config = {url:"http://domain.com/"}
if(location.protocol.indexOf('http') >= 0){
config.url = location.origin + '/';
}
打包之后的协议是 file ,只有调试的时候协议才会是http ,这样就不会对打包产生影响。
最后
以前都是在 www 目录下用 http-server 命令启动服务,现在只能老老实实的在工程目录下用 ionic serve 命令启动服务了。
版权声明:本文为jiuhongxi原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。