参考博主:
解决:springboot+vue表单提交后台接收不到值的问题
问题描述:见题
问题解析:
其实能看到这个问题的朋友大概率也是碰到了这个问题,那个这个问题到底是为什么发生呢?其实很难去说,我也是只知道这个怎么解决
问题解决
首先参考博主的,把
qs
装上
然后记住:!!!一定是在最接近post
请求的时候将原来的数据使用qs.stringify
方法,什么意思呢?比如有的人写的请求是像上面博主的那样,在验证完成后就直接提交了,但有的人不是,就比如我,会首先将请求封装成一层,然后调用全局封装好的请求,比如下面这样
async function request(url, method, params, config) {
switch (method) {
case METHOD.GET:
return axios.get(url, {params, ...config})
case METHOD.POST:
return axios.post(url, qs.stringify(params), config)
default:
return axios.get(url, {params, ...config})
}
}
这个就是全局封装好的,那么在使用
qs.stringify
的时候就放在这里就好了,放在其它地方没有,比如放在调用的上一级,是没用的
补充:
本人对前端并不是很熟,所以走了很多弯路,在使用的时候感觉火狐的调试工具还是个很好的东西,它能帮助我很快发现请求和响应的具体情况,后面还会多使用
补充参考:
下面几个博主的文章是在解决问题的时候发现的,感觉蛮有价值,特此记录:
vue之 axios的post请求及headers token方式
vue-admin-template 前端的form在后端无法接收到
Vue 之qs 使用详解
后端请求跨域问题:
Access-Control-Allow-Credentials
跨域问题解决