用vue-element-admin框架开发后台管理页面时,遇到post请求中带的数据,到了服务端所有数据类型都变成了字符串,导致类型验证失败。

排查时,已经打印了到了底层的位置了,这个时候数据类型还是正确的,没有头绪。

查看浏览器中的network列,看下具体的情况:

 

 

 

 

 

可以看到在浏览器中的请求信息,method明明是Post,但是URL中,还带有类似get请求的参数格式,url+?+params,

问题应该就是出在这,post请求的数据变成了get参数格式,导致全部变成了字符串类型。

 

想到之前另一个post接口是正常的,因此对比了下两个接口的代码:

 

 

破案了- -!

直接复制的get请求的代码,get请求中的参数字段是params,post请求的参数字段是data,这应该是axios封装所需的,光改了method,没有改参数字段名称,导致此次问题的出现。

调整为:

{
   method: 'post'
   data: data  
}

  

 

posted on 2021-09-28 11:13  Boom__Clap  阅读(2849)  评论(0编辑  收藏  举报