遇到的問題描述 :axios post 請求,后端接收不到參數。
我們的接口是java,用@RequestParam來接收前端的參數
解決方案:使用qs;axios中已經包含有qs,所以無需重新安裝,直接引入就好
import Qs from 'qs'//引入qs
let chedata = {
data: encStr,
sign: md5.hexMD5(che),
timestamp: timestamp,
}
//chedata是我需要傳遞給后端的參數
console.log(Qs.stringify(chedata))
axios({
header: {
"Content-Type": "application/x-www-form-urlencoded;charset=utf-8"
},
method:method || get,
url: baseUrl + url,
data:Qs.stringify(chedata),//在傳參之前先用qs.stringify轉化一下格式
responseType
}).then((response) => {
console.log(response)
success(response.data);
}).catch((err)=>{
console.log(err)
})
}
}
網上很多解決方案里面說還需要把請求頭替換一下,但是我試了一下,替換和不替換好像沒有影響;
如果需要替換的話,就將header替換為'Content-Type':'application/x-www-form-urlencoded'
header: {
"Content-Type": "application/x-www-form-urlencoded;charset=utf-8"
},
