axios 发 post 请求,后端接收不到参数

💂 个人网站: 【紫陌】【笔记分享网】
💅 想寻找共同学习交流、共同成长的伙伴, 请点击【前端学习交流群】

今天开发项目遇到post请求后端接收不到,浏览器都检测到我的请求,后端就是接收不到我的参数,卡我很久今天终于弄好了,踩了一个坑,给大家指指路。

问题场景

axios({
	method: 'post',
	url: '/api/lockServer/search',
	data: {
		username,
		password
	}
})

后台说没有接收到你的传参。

这就有点奇怪了,我看了一下浏览器的请求信息是 OK 的,参数都是有的,而且之前这样用 axios 也没有这个问题。

但是这个接口是通用的,别人都用了,是 OK 的,接口没问题

我的问题原因:

1.

 后台要前端发送application/x-www-form-urlencoded 格式的表单数据

2.

我们还可以看到我们这次请求的 Content-Type:application/json;charset=UTF-8

解决办法

【用 URLSearchParams 传递参数】

let param = new URLSearchParams()
param.append('username', 'admin')
param.append('pwd', 'admin')
axios({
	method: 'post',
	url: '/api/search',
	data: param
})

需要注意的是: URLSearchParams 不支持所有的浏览器,但是总体的支持情况还是 OK 的,所以优先推荐这种简单直接的解决方案

这个就可以解决我的问题

还有很多办法可以看这篇文章

axios 发 post 请求,后端接收不到参数的解决方案_Never Yu的博客-CSDN博客_axios发送post请求带参数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值