vue:axios請求本地json路徑錯誤問題及解決
axios請求本地json路徑錯誤
本例用的是vuecli4,json等靜態資源存放在public文件夾中
返回404
this.axios.get('public/redeme.json').then((res) => { console.log(res.data) })
其實vue從代碼到界面展示還要經過編譯,所以路徑會有所改變
實際路徑可以先打包一下,我是這麼找到json的路徑的
打包後的文件目錄如下
所以我把路徑改成:
this.axios.get('./redeme.json').then((res) => { console.log(res.data) })
獲取成功:
axios的基礎路徑如何設置
在不通過接口文件的情況下,如何使用axios呢?
在組件中調用axios,沒必要一定在接口文件中設置,你可以選擇在入口文件中設置基礎訪問路徑,在組件中通過this.axios這個方法發送異步請求即可。
舉個栗子吧↓
項目要求:所有api的域名為:http://www.escook.cn:3000 如果後面文檔中,有的域名地址和這裡不一樣,以這裡的為主;
請求接口:/api/getnewslist
請求方式:get
具體代碼如下:
步驟一:入口文件:main.js
import axios from 'axios'; axios.defaults.baseURL='http://www.escook.cn:3000 ' Vue.prototype.axios=axios
步驟二:組件:newList.vue
created () { this.axios.get('/api/getnewslist').then(res=>{ console.log(res) this.newList=res.data.message }) }
註意:this指代vue,要在axios前加上this
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- vue項目中使用axios遇到的相對路徑和絕對路徑問題
- vue裡的axios如何獲取本地json數據
- Vue使用axios發送請求並實現簡單封裝的示例詳解
- Vue為何棄用Ajax,選擇Axios?ajax與axios的區別?
- 關於SpringBoot與Vue交互跨域問題解決方案