axios get 發(fā)送數(shù)組的坑

起因,公司后臺(tái)使用restfull 風(fēng)格的api , 后臺(tái)接口他們已經(jīng)用個(gè)方法完全封裝好了,所以所有 請(qǐng)求的得在前端處理。

有個(gè)報(bào)表查詢 用數(shù)組 發(fā)送請(qǐng)求的, 正常用axios 發(fā)送請(qǐng)求后 后臺(tái)返回我發(fā)送的不是一個(gè)數(shù)組 。我當(dāng)場(chǎng)跑去和后臺(tái)撕逼,然后撕不贏 說我的請(qǐng)求不是正常的http請(qǐng)求。????? 可能是我太菜吧。然后去百度方法。
找到了qs 處理的方法。

復(fù)現(xiàn) 錯(cuò)誤的代碼

  
let data = {
  a:'11',
  b:[1,2,3]
}  
let datas = await getInfo(data)

控制臺(tái)圖


Snipaste_2019-08-14_10-47-13.png

??? 當(dāng)場(chǎng)懵逼 數(shù)組不是這樣嗎?(確實(shí)不是這樣的的)

錯(cuò)誤代碼2

  
let data = {
  a:'11',
  b: JSON.stringif( [1,2,3])
}  
let datas = await getInfo(data)

控制臺(tái)圖


Snipaste_2019-08-14_10-50-01.png

后臺(tái)說也不是這樣 ... 當(dāng)場(chǎng)奔潰
然后去網(wǎng)上找到了qs axios 自帶qs 可能也考慮了這個(gè)問題吧
在請(qǐng)求時(shí)加上一行代碼后

axios.get(url, {
    params: {
     ids: [1,2,3],
     type: 1
    },
    paramsSerializer: params => {
      return qs.stringify(params, { indices: false })
    }})

也不對(duì)啊 他吧 數(shù)組下標(biāo)變成了 key

微信截圖_20190814110237.png

微信截圖_20190814110301.png

然后我去npm 上看了下qs 文檔 找到了下面這句話


qs.png

意思是 把 a[0]=1 變成 a=1&a=2&a=3 ???? WTF 網(wǎng)上代碼太不靠譜了吧

改變后

axios.get(url, {
    params: {
     ids: [1,2,3],
     type: 1
    },
    paramsSerializer: params => {
      return qs.stringify(params)
    }})

最終正確的數(shù)據(jù)截圖

end.png

是它 是它 就是 它 正確的后臺(tái)要的格式.....

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 我們所要的說的axios的封裝和api接口的統(tǒng)一管理,其實(shí)主要目的就是在幫助我們簡(jiǎn)化代碼和利于后期的更新維護(hù)。 一...
    kangaroo_v閱讀 8,527評(píng)論 1 67
  • ## 框架和庫的區(qū)別?> 框架(framework):一套完整的軟件設(shè)計(jì)架構(gòu)和**解決方案**。> > 庫(lib...
    Rui_bdad閱讀 3,155評(píng)論 1 4
  • ¥開啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個(gè)線程,因...
    小菜c閱讀 7,336評(píng)論 0 17
  • 最近在寫Vue的時(shí)候,小小的嘗試了一下Axios,總結(jié)一下自己的使用吧。 ##背景 Axios是一個(gè)基于Promi...
    Neyo_涼閱讀 1,989評(píng)論 0 2
  • Axios是近幾年非?;鸬腍TTP請(qǐng)求庫,官網(wǎng)上介紹Axios 是一個(gè)基于 promise 的 HTTP 庫,可以...
    milletmi閱讀 3,619評(píng)論 0 9

友情鏈接更多精彩內(nèi)容