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。

推薦閱讀: