vue2前端使用axios發(fā)起post請(qǐng)求后端(springboot)接收不到值解決辦法
一、錯(cuò)誤回現(xiàn)(前后端錯(cuò)誤演示)
axios封裝-我常用的請(qǐng)求頭參數(shù) application/json; charset=utf-8

頁面登錄請(qǐng)求-post


網(wǎng)絡(luò)請(qǐng)求正常傳入?yún)?shù)
后端代碼,查看控制臺(tái)發(fā)現(xiàn)都為null,沒取到值。

二、解決
1.嘗試將前端post請(qǐng)求改成get,其他都不用變



發(fā)現(xiàn)正常取到值,打印輸出正常。前端頁面正常跳轉(zhuǎn)。
2.后端設(shè)置為post請(qǐng)求,前端axios要配置請(qǐng)求頭參數(shù)

還要再對(duì)數(shù)據(jù)再進(jìn)行一次格式化(qs)

然后再去驗(yàn)證


后端控制臺(tái)正常輸出。
三、結(jié)論


后來查閱資料發(fā)現(xiàn),只要我們前端只要傳入對(duì)象格式的參數(shù)時(shí),axios就會(huì)對(duì)我們的數(shù)據(jù)進(jìn)行JSON.stringify的操作。也就是說,將我們的 Content-Type 變成了 application/json;charset=utf-8。
axios 使用 post 發(fā)送數(shù)據(jù)時(shí),默認(rèn)是直接把 json 放到請(qǐng)求體中提交到后端的。
而后端接口使用@RequestParam注解就必須設(shè)置axios的請(qǐng)求頭為 application/x-www-form-urlencoded

@RequestParam接收的參數(shù)是來自HTTP請(qǐng)求體( Content-Type必須為 'application/x-www-form-urlencoded )

httpService.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
列出以下其他的值
httpService.defaults.headers['Content-Type'] = 'application/json; charset=utf-8';
上傳圖片最好是單獨(dú)封裝一個(gè)
export function fileUpload(url, params = {}) {
return new Promise((resolve, reject) => {
httpService({
url: url,
method: 'post',
data: params,
headers: {
'Content-Type': 'multipart/form-data'
}
}).then(response => {
resolve(response);
}).catch(error => {
reject(error);
});
});
}以上就是vue2前端使用axios發(fā)起post請(qǐng)求后端(springboot)取不到值解決辦法的詳細(xì)內(nèi)容,更多關(guān)于vue2發(fā)起post請(qǐng)求后端取不到的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- SpringBoot前后端交互、全局異常處理之后端異常信息拋到前端顯示彈窗
- 前端如何調(diào)用后端接口進(jìn)行數(shù)據(jù)交互詳解(axios和SpringBoot)
- 微信小程序完整項(xiàng)目實(shí)戰(zhàn)記錄(前端+SpringBoot后端)
- SpringBoot前端傳遞數(shù)組后端接收兩種常用的方法
- SpringBoot整合WebSocket實(shí)現(xiàn)后端向前端主動(dòng)推送消息方式
- springboot項(xiàng)目中后端接收前端傳參的方法示例詳解
- SpringBoot的前后端聯(lián)調(diào):表單提交、AJAX登錄與狀態(tài)管理、以及JSON數(shù)據(jù)交互
相關(guān)文章
Vue3?Composition?API優(yōu)雅封裝第三方組件實(shí)例
這篇文章主要為大家介紹了Vue3?Composition?API優(yōu)雅封裝第三方組件實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
Vue單頁面應(yīng)用保證F5強(qiáng)刷不清空數(shù)據(jù)的解決方案
最近小編遇到這樣的問題當(dāng)vue單頁面按F5強(qiáng)刷,數(shù)據(jù)就恢復(fù)初始了,這怎么辦呢?下面小編給大家?guī)砹薞ue單頁面應(yīng)用保證F5強(qiáng)刷不清空數(shù)據(jù)的解決方案,感興趣的朋友一起看看吧2018-01-01
前端JS也可以連點(diǎn)成線詳解(Vue中運(yùn)用AntVG6)
這篇文章主要給大家介紹了關(guān)于前端JS連點(diǎn)成線(Vue中運(yùn)用?AntVG6)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2023-01-01

