亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

vue2前端使用axios發(fā)起post請(qǐng)求后端(springboot)接收不到值解決辦法

 更新時(shí)間:2024年03月20日 11:22:06   作者:打工人小夏  
這篇文章主要介紹了vue2前端使用axios發(fā)起post請(qǐng)求后端(springboot)接收不到值解決辦法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

一、錯(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)文章!

相關(guān)文章

最新評(píng)論