博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
aixos post请求 参数传递失败
阅读量:3959 次
发布时间:2019-05-24

本文共 580 字,大约阅读时间需要 1 分钟。

最近使用Vue和Springboot做一个项目,需要添加一个User,从前端表单发起axios的post请求,然后发现了这个很折磨的错误。

问题

  • Vue部分

在这里插入图片描述

  • Springboot部分
    在这里插入图片描述
  • 发送的数据是:
    在这里插入图片描述
    结果,debug显示:
    在这里插入图片描述
    也就是说所有的参数都没有正确的传输到后端。
    这之后,我尝试了jquery中的ajax的post请求,是可以正常传输的,传输的数据也不为null。
    我又尝试了改为get请求,用参数形式传输,也是可以正常传输。

解决方法:

之后去查阅资料,发现有这么一个说法:

使用axios请求数据时,我们的 Content-Type 变成了 application/json;charset=utf-8

然后,因为我们的参数是 JSON 对象,axios 帮我们做了一个 stringify 的处理。

而且查阅 axios 文档可以知道:axios 使用 post 发送数据时,默认是直接把 json 放到请求体中提交到后端的。

那么,这就与我们服务端要求的 ‘Content-Type’: ‘application/x-www-form-urlencoded’ 以及 @RequestParam 不符合。

那么,怎么解决呢?

这里,我选择了最简单的方式:引入qs板块。

$ npm install qs --save-dev

在这里插入图片描述

这样就可以正常的传输了!

转载地址:http://ghozi.baihongyu.com/

你可能感兴趣的文章
关于详细设计
查看>>
POJ2838,Sliding Window(单调队列)
查看>>
牛客练习赛50,B tokitsukaze and Hash Table(STL+输入输出挂)
查看>>
POJ3728,The merchant(倍增LCA+分治)
查看>>
2019 ICPC Malaysia National,E. Optimal Slots(01背包变形)
查看>>
洛谷P1638 逛画展(双向队列)
查看>>
牛客练习赛51,D(二分图匹配)
查看>>
POJ2892,Tunnel Warfare(线段树维护连续区间)
查看>>
POJ3468,A Simple Problem with Integers(线段树-区间查询-区间更新)
查看>>
快速幂(递归)
查看>>
CodeForces 1101A Minimum Integer(思维)
查看>>
CodeForces 1102A Integer Sequence Dividing(思维)
查看>>
CodeForces 1087B Div Times Mod(思维)
查看>>
杭电ACM——4310,Hero(贪心)
查看>>
杭电ACM——1789,Doing Homework Again(贪心)
查看>>
北大ACM——2782,Bin Packing(贪心)
查看>>
北大ACM——4014,Dice(贪心)
查看>>
杭电ACM——4864,Task(贪心)
查看>>
北大ACM——3176,Cow Bowling(动态规划)
查看>>
北大ACM——2229,Sumsets(DP或思维)
查看>>