vue向后台发送表单提交请求但后台Springboot并未收到的问题

参考博主:
解决: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
跨域问题解决


版权声明:本文为IQIUM原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。