axios使用get的params傳遞一個陣列直接轉化 hk[] = [1,2]
我是這樣寫的
var nk = [1,2,3]
axios.get(urlStr,{
params:{
hk:nk
}
})
單請求的url被拼接為 localhost:8080/api/?hk[] = [1,2,3]
變成了400的非法格式了 如何把它拼接為正確的 localhost:8080/api/?hk=1&hk=2&nk=3
非常感謝大家 這個問題已經困擾我好多天了
uj5u.com熱心網友回復:
大家幫忙看看uj5u.com熱心網友回復:
這個還是自己處理吧,不要放到params里面去了,自己把url處理好傳進去
var nk = [1,2,3]
urlStr+=?
nk.forEach(e=>{
urlStr+="hk="+e+"&"
})
urlStr=urlStr.replace(/&$/,"")
axios.get(urlStr)
uj5u.com熱心網友回復:
qs插件庫應該可以解決
uj5u.com熱心網友回復:
qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'repeat' })
uj5u.com熱心網友回復:
讓后臺改介面,還能這樣傳值的?搞錘子呢uj5u.com熱心網友回復:
一般簡單 數字 字串的用get 復雜型別用postuj5u.com熱心網友回復:
樓上+1,qs庫完美解決,非常方便。另外,為什么非要get?一堆url也不好看,post直接傳json他不香?
最后再提供一種方法:
let arr = [1, 2, 3];
let result = '?'+arr.map((item, index) => `item${index}=${item}`).join('&');
console.log(result); //output is '?item1=1&item2=2&item3=3'
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/141812.html
標籤:JavaScript
下一篇:執行./generate.sh報錯./bin/cryptogen ./bin/configtxgen: 沒有那個檔案或目錄
