axios的get方法傳遞數組參數


httpget方法傳遞數組參數有兩種形式

形式一:

通過逗號拼接query參數

http://localhost:8080/api?arr=1,2,3,4&name=1

形式二:

通過數組名+下標指定參數

http://localhost:8080/api?arr[0]=1&arr[1]=2

使用axiosget方法傳遞數組參數

形式一的解決方案

// 這里注意使用+''將參數轉換成了字符串,實際上就是把arr變成了字符串傳出去
const params = {
    arr: [1,2,3,4] + '',
    list: [1,2,3,4]+ ''
}
// 創建axiaos對象,框架中常見的創建方式
const req = axios.create({
      baseURL: process.env.VUE_APP_API_BASE_URL, // api base_url
      timeout: 6000 // 請求超時時間
})
// 創建請求的promise方法,框架中常見的api封裝方式
const queryWayOne = (params) => req({
    url: 'xxx',
    method: get,
    params
})

// 在vue組件中使用
...
created() {
    queryWayOne(params).then(res=>{})
}
...

形式二的解決方案

// 這里沒有轉換成字符串
const param = {
    arr: [1,2,3,4],
    list: [1,2,3,4]
}

// 安裝qs
npm i qs
// 引入qs
import qs from 'qs'
// 在方法中添加paramsSerializer
const queryWayOne = (params) => req({
    url: 'xxx',
    method: get,
    params,
    paramsSerializer: params => qs.stringify(params)
})


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM