位置: IT常识 - 正文

vue使用axios发送post请求携带json body参数,后端使用@RequestBody进行接收(vue如何使用axios)

编辑:rootadmin
vue使用axios发送post请求携带json body参数,后端使用@RequestBody进行接收 前言

推荐整理分享vue使用axios发送post请求携带json body参数,后端使用@RequestBody进行接收(vue如何使用axios),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue发送请求的几种方式,vue如何使用axios,vue怎么发送post,vue发送请求的几种方式,vue如何发送ajax请求,vue发送axios请求,vue如何发送ajax请求,vue怎么发送post,内容如对您有帮助,希望把文章链接给更多的朋友!

最近在做自己项目中,做一个非常简单的新增用户场景,但是使用原生axios发送post请求的时候,还是踩了不少坑的。

唉,说多了都是泪,小小一个新增业务,在自己前后端一起开发的时候,硬是搞了好久。

下面就把问题总结分享下,防止后人再踩坑。

接口定义

首先先看下我的接口定义吧。

其实就是一个很简单的新增,参数也不复杂。只是一个json实体的user对象

@PostMapping(value = "/save") public Result save(@RequestBody User user) { return Result.ok(userService.saveUser(user)); }

起初我用apifox是这么调用的,直接在json body里面写参数和值:

后端也是正常接收的:

ok,其实到了这我心里一阵暗爽,这不就妥了嘛,前端随便写点传进来不就完事了,但是还真不是这么简单!

前端代码

先看下我的业务吧,就是点击新增按钮跳出来一个表单,填写信息提交后端

我现在使用的是原生的axios,还没进行封装,我的很多坑都是因为原生导致的。我打算做完这个模块再进行封装,先体验下原生的感觉。

首先我是这么写的:

这里可以简单说下

发送get请求都是传递param,发送post请求都是传递data

由于我发送请求之前就把表单数据定义成一个叫data的变量,完整写法应该是:

data:data // 由于key和value一致,可以简写为data

vue使用axios发送post请求携带json body参数,后端使用@RequestBody进行接收(vue如何使用axios)

// 新增用户信息 saveUserInfo(){ let data = this.ruleForm; axios.post('http://localhost:9090/user/save',{data},{ headers: { "Content-Type":"application/json" }, }).then(res =>{ // 请求成功状态为200说明添加成功 if(res.data.status===200){ // 关闭用户新增表单弹窗 this.dialogFormVisible=false, // 添加成功提示 this.$message({showClose: true, message: '添加成功!',type: 'success', duration:2000,center:true}); // 重新刷新列表数据 this.queryUserList(); } }).catch(error =>{ console.log(error) }) },发送请求并发现问题

上面代码写完直接运行,直接通过network查看请求

仔细一看好像没有什么问题吧,但是我在后端打了断点,一看,我的数据没了:

解决问题

然后我仔细分析,发现是因为数据的外面报了一层data:{}结构,经过请教圈子里面的大佬,发现问题所在:

就是data被花括号包起来了,去掉即可解决问题!

saveUserInfo(){ // 表单数据 let data = this.ruleForm; axios.post('http://localhost:9090/user/save',data,{ // json格式 headers: { "Content-Type":"application/json" }, },

再次运行,解决问题:

后端也正常接收数据了:

至此问题解决

小插曲

下面是一个小插曲,就是有朋友和我说需要用qs进行转换下表单数据,但是我试过了。和这个参数转换问题无关,

安装qs插件

直接执行命令:

npm install qs

这个包很小哇,安装起来很快的:

引用qs

安装完之后,就可以使用qs了,直接在文件中引用

// 引用qsimport qs from 'qs'使用qs

引用qs完后,就可以使用它把对象格式化为一个字符串,一行代码即可

// 使用qs对象格式化为一个字符串 qs.stringify(this.ruleForm)

总结

感觉还是挺简单的,但是还是很有必要封装下。

解决问题一定要精确定位,要多尝试,这里引用艾克一句话送给大家:

我宁愿犯错,也不愿什么都不错

本文链接地址:https://www.jiuchutong.com/zhishi/299956.html 转载请保留说明!

上一篇:CSS字体样式(font)[详细](css中设置字体样式)

下一篇:Vue中,一个组件调用其他组件的方法(非父子组件)(vue中的组件)

  • 华为matebook14是win7吗

    华为matebook14是win7吗

  • 快手置顶是什么意思(快手里的顶置是什么)

    快手置顶是什么意思(快手里的顶置是什么)

  • 巴龙5000和soc的区别(巴龙5000与soc)

    巴龙5000和soc的区别(巴龙5000与soc)

  • 十六进制中的abcdef是什么意思(十六进制中的AB转为十进制)

    十六进制中的abcdef是什么意思(十六进制中的AB转为十进制)

  • 苹果手机屏幕上的悬浮球怎么没有了(苹果手机屏幕上的小圆点怎么打开)

    苹果手机屏幕上的悬浮球怎么没有了(苹果手机屏幕上的小圆点怎么打开)

  • cpu由运算器和什么组成(cpu由运算器和什么两部分组成)

    cpu由运算器和什么组成(cpu由运算器和什么两部分组成)

  • 笔记本电脑半年没开机会怎样(笔记本电脑半年不用会不会坏)

    笔记本电脑半年没开机会怎样(笔记本电脑半年不用会不会坏)

  • 小米9换屏后指纹不能用了(小米9换屏后指纹不能用了是哪里出现问题了)

    小米9换屏后指纹不能用了(小米9换屏后指纹不能用了是哪里出现问题了)

  • tcp是什么层协议(tcp属于什么层)

    tcp是什么层协议(tcp属于什么层)

  • 微信群发太频繁要等多久(微信群发太频繁,多久才可以再次发送)

    微信群发太频繁要等多久(微信群发太频繁,多久才可以再次发送)

  • 苹果11可以用两张电信卡吗(苹果11可以用两个电信卡吗)

    苹果11可以用两张电信卡吗(苹果11可以用两个电信卡吗)

  • 开始运行在哪(开始运行在哪里打开)

    开始运行在哪(开始运行在哪里打开)

  • 5v2.4a充电器算快充吗(充电器5v2.4a快吗)

    5v2.4a充电器算快充吗(充电器5v2.4a快吗)

  • word工具栏在哪(word工具栏在哪个菜单)

    word工具栏在哪(word工具栏在哪个菜单)

  • 微信解冻是什么意思(微信解冻是什么样子)

    微信解冻是什么意思(微信解冻是什么样子)

  • 怎么自动生成目录(怎么自动生成目录word里面论文)

    怎么自动生成目录(怎么自动生成目录word里面论文)

  • 荣耀手环5可以接电话吗(荣耀手环5可以游泳吗)

    荣耀手环5可以接电话吗(荣耀手环5可以游泳吗)

  • 三星s105g版在中国能用吗(三星s105g版是国行的吗)

    三星s105g版在中国能用吗(三星s105g版是国行的吗)

  • p30跟p30pro区别(p30跟p30pro的区别)

    p30跟p30pro区别(p30跟p30pro的区别)

  • 苹果8p基带坏了能修吗(苹果8p基带坏了怎么修复需要多少钱)

    苹果8p基带坏了能修吗(苹果8p基带坏了怎么修复需要多少钱)

  • a1674是ipad几(a1674是ipad几代那年款)

    a1674是ipad几(a1674是ipad几代那年款)

  • form表示什么(form的含义)

    form表示什么(form的含义)

  • 主板报警一长两短(主板报警一长两短换拔掉所有设备还响)

    主板报警一长两短(主板报警一长两短换拔掉所有设备还响)

  • 前端面试中经常提到的LRU缓存策略详解(前端面试经常被问的问题)

    前端面试中经常提到的LRU缓存策略详解(前端面试经常被问的问题)

  • 蓝桥杯C/C++VIP试题每日一练之龟兔赛跑预测(蓝桥杯c题库及答案)

    蓝桥杯C/C++VIP试题每日一练之龟兔赛跑预测(蓝桥杯c题库及答案)

  • 补提企业所得税怎么做账
  • 三证合一后纳税人识别号和信用代码一样吗
  • 总公司和子公司可以有业务往来吗
  • 环保税计税依据怎么算
  • 联营企业子公司抵消比例
  • 资金结存期末余额方向
  • 胶水开票开什么类目
  • 税务局多扣的一笔钱
  • 电子发票认证显示未开具
  • 红字发票冲红需要收回原发票吗
  • 有限合伙企业利润先税后分
  • 自然人独资企业是什么意思
  • 应收账款占用资金的应计利息公式
  • 机器设备折旧计提规定
  • 红字冲销是加还是减
  • 报销增值税专票绿的
  • 购置办公大楼
  • 一般纳税人的含税收入怎么算
  • 个人公司转让协议怎么写
  • 租赁费交税税率是多少
  • 房屋租赁补充协议怎么写才有效
  • 应税行为扣除额计算怎么填
  • 个人营业执照怎么注销网上申请流程
  • 物业收取的滞纳金怎么算
  • 薪酬费用属于什么科目
  • 成本费用怎么做分录
  • 电子发票转收入怎么做为记账凭证?
  • 暂估运费成本的账务处理
  • 不是公户付的款开发票可以做账吗
  • 防伪税控设备丢失需要处罚吗
  • mac app store一直转圈圈
  • 工商年报社保需要多少钱
  • 政府的奖励金计入哪个科目
  • 公司缴纳的契税怎么查询
  • php bcmul
  • 卡洛里山脉
  • vuedraggable官方文档
  • opencv模板匹配原理
  • 一般纳税人企业所得税5%还是25%
  • js数组 filter
  • index.php备份文件名
  • 在linux服务器中新增加一块硬盘
  • 工人意外伤害保险
  • 装订会计凭证步骤
  • 上市公司收购其他股票
  • 开自家车出差怎样报销
  • sql server 2008 备份
  • 其他综合收益影响留存收益吗
  • 有形动产经营性租赁光租业务是什么意思
  • 盈余公积年初和年末没有变化
  • 预付账款的会计编码是多少?
  • 什么是存货周转期间
  • 销售产品结转成本
  • 销售货物的价外费用如何开票
  • 独立核算的生产车间是法律主体吗
  • 非居民企业境内所得
  • 原材料运费如何入账
  • 缴纳上月附加税怎么做分录
  • 发票作废才能验旧吗
  • 私人企业会计工作内容
  • 小规模纳税人转为一般纳税人的流程
  • sql中的存储过程
  • macos怎么操作
  • win7双击文件无反应
  • win10系统优酷播放不了
  • macos终端删除文件
  • ubuntu系统如何设置永不休眠
  • nacos监控服务
  • centos n1
  • Win8用Ribbon Disabler工具关闭Ribbon功能区界面
  • 照片墙安装教程
  • python有没有翻译库
  • React Native react-navigation 导航使用详解
  • javascriptz
  • android动态添加view
  • javascript面向对象 第三方类库
  • 当jquery ajax遇上401请求的解决方法
  • 国家税务总局党建工作局
  • 深圳市国税局副局长是谁
  • 河北省电子税务局官网app
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设