微信公告号 前端请求,后端获取不到参数

探讨了在微信环境中,前端使用POST方法向后端发送请求时,后端无法接收到参数的问题。详细分析了从报文头的Content-Type设置错误,到微信开发者工具与真实微信客户端间差异导致的请求参数缺失现象,最终通过调整为GET请求并更改input类型解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

微信公告号 前端请求,后端获取不到参数

业务场景:通过用户输入的手机号判断能不能将该手机号持有人作为自己的伙伴(只能是没有伙伴的空白人才能添加)

前端使用PopupHeader组件



请求方法:
axios.post(’/xxxxxxxxxxxxx’,{phone:this.phone}).then(res=>{})

后端使用post,参数用user对象接收
@PostMapping(“xxxxxxxxx”)
public void getPhone(@ResponseBody User user){
}

问题:前期开发没有问题,突然发现一个账号不能成功找到伙伴,总是报没有该用户存在,查找日式,发现请求的参数为null,其他账号没有问题,最后演变成为,安卓微信访问都报错,都是因为没有得到请求参数,使用微信开发工具进行测试,奇葩发现微信开发者工具执行请求成功,手机微信请求都报空,得不到请求参数。查看报文发现前端请求虽然是post的方法,但是header头是这样的在这里插入图片描述
查找资料是post请求时正常情况下context-type应为在这里插入图片描述
但是前端将其header头修改,还是不起作用,
最后将前后端都改成get请求,并且,将input 的type格式改成text,修改有效,
查询到一篇文章有说明移动端和PC端模拟请求报文不一致,移动端的header里面是 Context-type,而PC则是context-type的, 正常处理下,后台要特别针对该格式做处理!

参考文章:http://www.php.cn/weixin-kaifa-362671.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值