鍍金池/ 問(wèn)答/Android  物聯(lián)網(wǎng)  HTML/ cordova打包成apk后,axios異步請(qǐng)求該如何設(shè)置?

cordova打包成apk后,axios異步請(qǐng)求該如何設(shè)置?

一般vue項(xiàng)目中異步請(qǐng)求代碼如下:

調(diào)用異步請(qǐng)求:

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

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

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

npm run dev后在瀏覽器中是可以訪問(wèn)到數(shù)據(jù)。

但是打包成apk就不一樣了,我們通過(guò)命令cordova serve android,然后在瀏覽器里面通過(guò)http://localhost:8000/android/www/index.html#/可以訪問(wèn)該頁(yè)面(就像在手機(jī)中看到頁(yè)面一樣),對(duì)應(yīng)的異步請(qǐng)求變成了http://localhost:8000/android/www/api/index.json,這個(gè)請(qǐng)求會(huì)返回404,那么我們?cè)撊绾涡薷纳厦?code>調(diào)用異步請(qǐng)求的代碼和異步請(qǐng)求配置相關(guān)的代碼呢?

回答
編輯回答
夏夕

proxyTable是在開(kāi)發(fā)模式下才生效的,你通過(guò)cordova serve android訪問(wèn)的是打包后生產(chǎn)環(huán)境使用的index.html文件,所以代理是不生效的。
請(qǐng)求url可以直接寫(xiě)服務(wù)器上的絕對(duì)地址就會(huì)訪問(wèn)正確的地址了,
如果開(kāi)發(fā)環(huán)境和生產(chǎn)環(huán)境要請(qǐng)求不同的地址的話,可以自己做一下判斷。

2018年5月16日 09:01