Ionic 浏览器调试跨域问题

问题

最近做一个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 命令启动服务了。

参考:
【1】Handling CORS issues in Ionic

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值