vue中axios发送post请求,后端(@RequestParam)接不到参数
Posted 雨天呐
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue中axios发送post请求,后端(@RequestParam)接不到参数相关的知识,希望对你有一定的参考价值。
遇到的问题描述 :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" },
以上是关于vue中axios发送post请求,后端(@RequestParam)接不到参数的主要内容,如果未能解决你的问题,请参考以下文章
vue使用axios发送post请求携带json body参数,后端使用@RequestBody进行接收