angular.js - ionic2 浏览器跨域问题
问题描述
ionic2项目从Localhost向远程服务器提交Post请求,在真机中可以返回正确的数据,但是在Chrome中遇到了跨域的问题,查了些资料,配置了一下服务端的Access-Control-Allow,但是没效果,谁能看一下吗,下面是报错和代码。


问题解答
回答1:这个坑我也遇到过,整个过程我都写在我的博客里了:http://www.haoguangbo.com/arc...
简单来说,因为真机里网页的访问走的是file://协议,而非http://或https://,因此不会出现跨域问题,但是浏览器里开发调试的时候,由于实际上是ionic的CLI在本地跑了一个小服务器,网页等资源都是通过http加载的,就会出现跨域问题。解决这个其实很简单,后端服务器不需要做任何处理,只需要在ionic的配置文件(ionic.config.js)里加上proxy这个字段,如下所示:
{ 'name': 'appname', 'email': '', 'app_id': '', 'proxies': [ { 'path': '/api', 'proxyUrl': 'https://api.instagram.com/api' } ]}
然后,在想访问https://api.instagram.com/api/xxx的时候,就改成访问/api/xxx,ionic会自动把以http://localhost:8000/api开头的请求都转发到https://api.instagram.com/api,就像shadowsocks一样。最后重新ionic serve重启一下ionic就可以了。这个问题,ionic团队真应该写到官方文档里,实在是坑了太多的人了。希望能帮到题主。
回答2:angular设置了CROS没有?
$httpProvider.defaults.withCredentials = true;
相关文章:
1. 网页爬虫 - 关于Python的编码与解码问题2. css - 文字排版问题,内容都是动态抓出来的,字数不一定。如何对齐啊3. css3 - 微信前端页面遇到的transition过渡动画的bug4. selenium-selenium-webdriver - python 将当前目录加入到 环境变量5. javascript - 为什么var obj = {}创建对象的方法里面不能用this.xxx来声明属性 ?6. css3 - 微信小程序如何把radio改成2个选择按钮的样式7. javascript - postcss-loader在webpack2的使用.8. redis - 究竟是选择微信小程序自带的统计工具还是自己开发一个数据统计的代码?9. 为什么javascript 18014398501093363 == 18014398501093364 返回ture10. php ZipArchive关于不同目录文件压缩

网公网安备