解决axios的post传参服务器无法接收的问题

问题描述:

我在使用axios的post方法进行传参时,后端无法接收到传递参数,查看浏览器发现,其传递方式竟然是 request payload,而不是from-data

解决方法

因为我用的是vue写的前端,首先我在项目的入口文件 main.js中添加axios传参全局配置和引入qs模块
注:qs模块主要为了转换所要传递的数据时使用,且使用前需要进行先安装,

npm install qs --save
import qs from 'qs'
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8'

接下来是vue组件中的js部分


       axios.post('你的url', qs.stringify({所要传递的数据}), {
          headers: {
            'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
          }
        })

观察浏览器,此时的提交数据方法变为了form-data,后台进行的相应方法就可以得到数据了

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
axios中使用post请求传参的方式有多种。引用\[1\]中的代码示例展示了一种常见的方式,使用FormData对象来传递参数。在这种方式下,可以通过调用`formData.append(key, value)`方法来添加参数。另外,还可以使用URLSearchParams来传递参数,这是引用\[2\]中提到的一种方式。在这种方式下,可以通过设置`Axios.defaults.headers.post\['Content-Type'\] = 'application/x-www-form-urlencoded'`来修改请求头的Content-Type。这样,参数会以键值对的形式拼接成字符串,并保存在请求体中。这种方式适用于后端接收参数的类型要求是键值对形式的情况。而如果后端接收参数的类型要求是json对象形式的,可以使用默认的Content-Type值`application/json`,将参数以json对象的形式传递,如引用\[3\]所述。 #### 引用[.reference_title] - *1* *3* [axiospost请求传参问题](https://blog.csdn.net/EdwardWH/article/details/107676773)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [axios post方式传递参数](https://blog.csdn.net/lianghecai52171314/article/details/106073810)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值