后端获取不到axios.post提交的参数

官网示例是这样的:

# 方式一:直接传入json对象作为参数
axios.post('/user', {firstName: 'Fred',lastName: 'Flintstone'}).then(function (response) {console.log(response);}).catch(function (error) {console.log(error);});# 方式二: 通过属性data指定参数axios({method: 'post',url: '/user/12345',data: {firstName: 'Fred',lastName: 'Flintstone'}
});

项目中的代码最开始参考官网示例编写诶,实现如下:
前端实现:

<script src="js/vuejs-2.5.16.js"></script>
<script src="js/axios-0.18.0.js"></script><script>
axios.post('/user', {"age": 18,"email": "zs@qq.com","name": "张三"
}).then(function (response) {console.log(response);}).catch(function (error) {console.log(error);});
</script>

后端实现:

request.getParameterMap();
request.getParameter("email");

部署运行项目后,发现后端这两个方法获取参数都是为null,后端又不想变更,于是前端想着怎么来解决这个问题。

解决方案:

首先要明白,axios的默认行为:
axios 使用 post 发送数据时,默认是直接把 json 放到请求体中提交到后端的。
所以它是将 Content-Type 改成了 application/json;charset=utf-8,后端获取参数可能拿不到。

这时候,需要使用到 Qs模块了, 借助Qs模块来序列化前端的json对象,使之成为name=张三&age=18&email=zs@qq.com的形式提交:。

具体用法:

Qs.stringify(json对象)

引入Qs.js模块:

<script src="js/vuejs-2.5.16.js"></script>
<script src="js/axios-0.18.0.js"></script>
<!-- 引入Qs模块  -->
<script src="js/qs.js"></script><script>
var obj = {"name":"张三", "age":18,"email":"zs@qq.com"};
var paramStr = Qs.stringify(obj);
console.log(paramStr);  //  name=张三&age=18&email=zs@qq.comaxios({method: 'post',url: '/user',data: Qs.stringify(obj)
})
</script>

重新运行项目,后端通过request.getParameterMap()或者request.getParameter(“参数名”) 都可以获得请求参数了。

当然,熬得过后端德华,让他们改也是可以的。后端可以直接拿到json传转换成对象也是ok的。

后端获取不到axios.post提交的参数相关推荐

  1. 使用axios post 提交数据,后台获取不到提交的数据解决方案

    使用axios post 提交数据,后台获取不到提交的数据解决方案 参考文章: (1)使用axios post 提交数据,后台获取不到提交的数据解决方案 (2)https://www.cnblogs. ...

  2. 前后端交互ajax和axios入门讲解,以及http与服务器基础

    ajax和http小白入门,客户端与服务器基础讲解,前后端交互(从入门到实践详细解析) 文章目录 ajax和http小白入门,客户端与服务器基础讲解,前后端交互(从入门到实践详细解析) 前言 一.Aj ...

  3. router中获取vuex_Vue 中 Axios 的封装和 API 接口的管理

    (给JavaScript加星标,提升前端技能) 作者:愣锤 https://juejin.im/post/684490365288107214 如图,面对一团糟代码的你~~~真的想说,What F~U ...

  4. vue 通过从后端获取的文件地址将excel文件下载到本地

    方法很简单,地址一定要正确 可以先自己在百度上找个免费能下载的文件进行测试,如果百度文档的下载地址能成功实现,那前端就没问题了 1. 用a标签 这个很重要的一点是,给的下载地址一定一定要正确,要能下载 ...

  5. js ajax传对象数组参数,JS传递对象数组为参数给后端,后端获取

    JS传递对象数组为参数给后端,后端获取. 前端JS代码: var conditons = []; var test1 = new Object(); test1.name="1"; ...

  6. 从后端获取数据然后在页面处理技巧

    实例技巧分析: // 从后端获取数据 entity ,先给默认值为空对象//假设 我们从后端获取到 entity 传递进来,这个时候 entity 里面有二个数据 statusPassTime 和 c ...

  7. jsp调用struts,jsp调用action,action获取表单提交的参数

    自定义action类.LgqAction: @Component @Scope(value="prototype") public class LgqAction {        ...

  8. java后端获取客户端(用户)真实ip,原理

    java后端获取客户端真实ip,原理: 一般都是下面代码中的做法:但很多人只知道这样能拿到,稍微有改动就不知道怎么办了 看看网上的各种说法,接下来容我一一讲解,如有纰漏,敬请指正. public st ...

  9. java后端获取时间

    前言 我们在后端开发过程中,会遇到需要获取当前时间.昨日时间的情况,下面是在后端获取时间的方法 Java后端获取时间 Calendar ca = Calendar.getInstance(); Sim ...

最新文章

  1. python读取excel-蜗牛笔记-文章-Python读取Excel文件
  2. 使用JavaScript代码制作99乘法表
  3. 中国计算机学会CCF推荐国际学术会议和期刊目录-人机交互与普适计算
  4. 2021算法竞赛入门班第三节课【堆、栈、队列、并查集】等习题
  5. REVERSE-PRACTICE-JarvisOJ-2
  6. 华科计算机考研复试机试【零散大汇总】
  7. swift加密_如何使用Swift和Laravel创建加密跟踪应用程序的后端
  8. Docker教程:dokcer machine的概念和安装
  9. gcc 混合连接动态库和静态库
  10. 映象劫持使部分程序不可运行的解决方法
  11. 搭建以图搜图检索系统
  12. 使用Texmacs帮助您写格式规范统一的BLOG
  13. 如何设置虚拟机访问外网
  14. VM虚拟机ssh免密登录其他主机
  15. 【郭东白架构课 模块一:生存法则】05|法则二:研发人员的人性需求是如何影响架构活动成败的?
  16. 保利紫山开启湛江城市墅居新纪元
  17. 消息队列应用与原理剖析
  18. 总结下我两个移动硬盘坏掉的经历...
  19. Live800:全渠道智能客服系统,助力企业打造全渠道客户中心
  20. Virgo与Maven整合开发环境搭建(四)

热门文章

  1. (转)Cognos Transformer IQD文件结构及规则
  2. 【搬家】【数据库】【优化】SQL 优化学习小结——索引和语句优化
  3. 对无迹卡尔曼滤波(UKF)和粒子滤波(PF)的理解
  4. 基础篇 | 15 C++ 科学计算 - OpenBLAS的安装与使用
  5. MySQL 开启大页内存
  6. 郑州大学计算机科学系院长 李,2018年英才计划专家咨询委员会郑州大学调研座谈会圆满举办...
  7. oracle分区维护操作不能与其他,ORA-14048:分区维护操作不能与其它操作组合
  8. 微信会员卡开发之微信公众平台的基本配置
  9. c语言 floyd优化,Floyd(弗洛伊德)算法(C语言)
  10. ZOJ 1036: 算菜价