微信小程序调用wx.request()发送POST请求时,后台无法接收到请求的参数。
解决方案一:
最简单的是修改wx.request()的请求头中的content-type:
get请求 ‘Content-Type’: ‘application/json’
post请求 ‘content-type’: ‘application/x-www-form-urlencoded’,
formsubmit: function (e) {
var that = this;
var formData = e.detail.value; //接收表单数据 json格式的
wx.request({
url:"http://10.62.128.53:8081/demo/user/loginUser",
data:{
"username":formData.username,
"password":formData.password
},
method: "POST",
header: {
'content-type': 'application/x-www-form-urlencoded',
// 'Content-Type': 'application/json'
},
success: function (res) {
var result = res.data;
var toastText = result;
wx.showToast({ //无论成功失败
title: toastText,
icon: '',
duration: 2000
});
这样后台就不需要修改直接可以接收参数了。
解决方案二:
有人说我就不要修改content-type,我就喜欢用:application/json;charset=UTF-8,怎么办?
修改后台:
@PostMapping("/getsessionId")
public Object getSessionId(@RequestBody Map<String,String> reqbody) {
String code = reqbody.get("code");
return ***;
}
主要是接收参数时使用@RequestBody,将所有参数都写入map中,使用时直接get即可。
版权声明:本文为weixin_43865196原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。