Vue项目 axios post方法传参后台接收不到参数

1.背景

今天做项目的时候遇到一个问题,平时没有注意,这次卡了好久,传递参数就是后台接收不到,但是单独调试后端接口是通的,经过搜索终于解决现记录如下:

2.主要问题

前端代码:

请求:

后端代码:

接收,全为空

3.原因

3.1看axios.post 传输参数的格式

Content-Type 为 application/json 类型的,我们需要将这个数据类型变成 application/x-www-form-urlencoded 这种类型的,后台才能接收得到

4.解决方法

4.1使用JSON.stringify 

JSON.stringify({taskDTO:addform1})

4.2直接传值

和上述传值方式一样都是默认将数据转为json进行传值

4.3使用 qs 模块

使用axios,不用单独安装 qs模块, axios 包含qs模块

import qs from 'qs'
qs.stringify(addform1);
当headers:{"Content-Type": "application/x-www-form-urlencoded",}时数据才能为formdata传值

4.2.1参数封装

这样传参,参数是模式

4.2.2这样封装

参数下述展示

仔细体会参数的变化,请求会出现415 400 等问题,仔细对比之后就会知道解决方法,考虑需不要加header,怎么接收参数

相关连接

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值