post請求不像get請求一樣,get請求傳參是在url後邊以&去拼接上的,而post請求時在請求體中的,不會默認去拼接,這就導致。post傳遞參數失敗 ,後臺無法獲取傳遞的參數
注:一定先import導入之後才能使用
var params = {
bankName: ”“,
bankNameAll: ”“,
}
axios.post(urls, params).then(res=>{ //這裏的params是我向後臺傳遞的參數
//這時候發現後臺無法接收到值
})
解決方案:Qs.stringify的使用
Qs.stringify()將對象 序列化成URL的形式,以&進行拼接。處理之後的params再去發送請求時 。這時候傳遞的參數會以bankName=""&bankNameAll=""的形式傳遞到後臺
axios.post(urls, Qs.stringify(params)).then(res=>{
//此時傳遞的參數後臺可以接收到
})
如果參數中含有數組,可以給Qs.stringify第二個參數處理數組格式:
Qs.stringify({ids: [1, 2, 3]}, { indices: false })
//形式: ids=1&ids=2&id=3
Qs.stringify({ids: [1, 2, 3]}, {arrayFormat: ‘indices‘})
//形式: ids[0]=1&ids[1]=2&ids[2]=3
Qs.stringify({ids: [1, 2, 3]}, {arrayFormat: ‘brackets‘})
//形式:ids[]=1&ids[]=2&ids[]=3
Qs.stringify({ids: [1, 2, 3]}, {arrayFormat: ‘repeat‘})
//形式: ids=1&ids=2&id=3