lenve / vhr

微人事是一个前后端分离的人力资源管理系统,项目采用SpringBoot+Vue开发。
http://vhr.javaboy.org
27.4k stars 10.3k forks source link

axios post请求传递参数问题 #44

Closed i-CNNN closed 6 years ago

i-CNNN commented 6 years ago

user : { name: '张三', age: 12, xx:{ a: 1, b: 'tome' } } 类似这样的格式参数, 在传递时报400错误, 现在知道是因为xx这个内嵌json导致的, 去掉了就成了200状态码了. 这样的有什么办法解决么???

i-CNNN commented 6 years ago

问题已经解决了, 我看了api.js中对post/push的请求配置, 发现你这里的请求头用的是:application/x-www-form-urlencoded;

  1. 其实用默认的就好了:application/json;charset=UTF-8
  2. 参数序列化修改为如下,将transformRequest配置注释掉: paramsSerializer: function(params) { return qs.stringify(params, {arrayFormat: 'repeat'}) }, // 这里将数组格式化了。其实这样就可以传递复杂的对象了。
  3. 后台接受参数用注解@RequestBody标注一下。