cordova打包成apk后,axios异步请求该如何设置?

qngyun1029
  • 737

一般vue项目中异步请求代码如下:

调用异步请求:

axios.get('/api/index.json').then()

config/index.js 中配置代码如下:

proxyTable: {
  '/api': {
    target: 'http://23.8.32.xxx',
    pathRewrite: {
      '^/api': '/static/mock'
    }
  }
},

npm run dev后在浏览器中是可以访问到数据。

但是打包成apk就不一样了,我们通过命令cordova serve android,然后在浏览器里面通过http://localhost:8000/android/www/index.html#/可以访问该页面(就像在手机中看到页面一样),对应的异步请求变成了http://localhost:8000/android/www/api/index.json,这个请求会返回404,那么我们该如何修改上面调用异步请求的代码异步请求配置相关的代码呢?

回复
阅读 4.7k
1 个回答
✓ 已被采纳

proxyTable是在开发模式下才生效的,你通过cordova serve android访问的是打包后生产环境使用的index.html文件,所以代理是不生效的。
请求url可以直接写服务器上的绝对地址就会访问正确的地址了,
如果开发环境和生产环境要请求不同的地址的话,可以自己做一下判断。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏