Vue中使用axios post方法傳參後臺接收不到參數

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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章