最近嘗試使用iview-admin 來做前后端分離開發(fā)
使用axios代替ajax請求
當(dāng)參數(shù)是JSON對象時泉褐,默認(rèn)的Content-Type是application/json赐写。
此時后臺無法獲取所傳遞的參數(shù)
在axios使用Post發(fā)送數(shù)據(jù)時,默認(rèn)是直接把json放到請求體中提交到后端的膜赃,而后端獲取數(shù)據(jù)的方式有兩種挺邀,一種是@RequestParam(通過字符串中解析出參數(shù)),另一種是@ResponseBody(從請求體中取參數(shù)),很顯然跳座,我們的后端用了第一種方式端铛。
解決如下:
import Qs from 'qs'
export const deleteAudioType = (id) => {
let data = {
id: id
}
return axios.request({
url: 'api/audio/deleteType',
data: Qs.stringify(data),
method: 'post'
})
}
使用qs 庫對數(shù)據(jù)進行轉(zhuǎn)換 ,此時結(jié)果如下:
發(fā)送數(shù)據(jù)請求
傳遞的為表單數(shù)據(jù) contetn-type 為aplication/x-www-form-urlencoded
問題解決