欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

axios的get請(qǐng)求傳入數(shù)組參數(shù)原理詳解

 更新時(shí)間:2023年06月12日 14:32:08   作者:alue  
這篇文章主要為大家介紹了axios的get請(qǐng)求傳入數(shù)組參數(shù)原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

axios 發(fā)送 get 請(qǐng)求

axios 發(fā)送 get 請(qǐng)求的一般方式如下:

axios.get(url,{params:{
    a:1
}})

但是,如果 params 里有數(shù)組參數(shù)的話,上面的方法就會(huì)帶來問題。

例如, 這里發(fā)送的請(qǐng)求參數(shù) b 是數(shù)組:

axios.get(url,{params:{
    a:1,
    b:[1,2]
}})

這時(shí)候,后端 Django 用 request.GET.getlist('b') 獲取到的參數(shù) b 一直是 [].

原因

原因是對(duì)數(shù)組的序列化有多種方式,我們需要前后端統(tǒng)一序列化方式,才能夠正確解碼。

Django 的 request.GET.getlist('b') , 對(duì)請(qǐng)求參數(shù) b 的序列化要求是這樣子的

b=1&b=2

也就是說,用&連接數(shù)組中的元素,這并不是 axios 默認(rèn)的序列化方法。

解決方法

需要指定 axios 的序列化方式,我們可以用 paramsSerializer 參數(shù)指定序列化函數(shù)。
更簡(jiǎn)單的方式是使用 qs 庫:

import qs from "qs";
axios.get(url,{
    params:{
        a:1,
        b:[1,2]
    },
    paramsSerializer: function (params) {  
      return qs.stringify(params, { arrayFormat: "repeat" });  
    },
})

以上就是axios的get請(qǐng)求傳入數(shù)組參數(shù)原理詳解的詳細(xì)內(nèi)容,更多關(guān)于axios get請(qǐng)求傳入數(shù)組參數(shù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論