HBuilder把vue项目打包app后请求不到数据问题
最近用VUE写了一个webapp项目,用HBulider打包成app用手机打开后,数据居然请求不到,引入的阿里的iconfont字体图标也加载不进来。交互是用axios写的,使用了跨域代理。解决方法有两种:1、加上固定域名(https://www.uplanok.com)由于打包的app只是套上了一个壳子,所以打开app后找不到对应的域名,所以请求不到的数据。例如一个注册接口:...
最近用VUE写了一个webapp项目,用HBulider打包成app用手机打开后,数据居然请求不到,引入的阿里的iconfont字体图标也加载不进来。交互是用axios写的,使用了跨域代理。
解决方法有两种:
1、加上固定域名(https://www.uplanok.com)
由于打包的app只是套上了一个壳子,所以打开app后找不到对应的域名,所以请求不到的数据。
例如一个注册接口: '/app/login.do',浏览器打开https://www.uplanok.com访问项目,并请求这个接口的时候,会自动加上前面的域名,即访问的是正确的: ‘https://www.uplanok.com/app/login.do’。
但是将项目打包成app后,由于不能拼接对应的域名,所以请求的是 '/app/login.do',故而显示不出来。
2、直接打包域名
打包的之后,页面入口页填写对应的域名即可,这样做的优点就是简单而不会出现请求不到数据的情况。还有一个优点就是项目体积会很小。
Vue利用HBuilder打包APP以后,访问不到数据
利用vue完成一个app,后端没有用nginx这种代理服务器,所以用HBuiderX打包成app以后,请求发不到,vue下面cofig/index.js的配置如下
登陆login.vue页面的登陆接口如下
但是改成这样
就可以访问接口了,但是每次都要在前面加地址,这样如果修改了接口地址的话就会工程量大了,百度了一下app没有跨域请求这个概念。所以大佬们有什么办法解决嘛?
在线上环境proxyTable无效,跨域的话建议后端设置跨域或者nginx配置。如果不想写host这一段的话可以封装在axios里面。
更多推荐
所有评论(0)