微信小程序:使用wx.request()请求后台接收不到参数

时间:2023-03-08 15:04:05
微信小程序:使用wx.request()请求后台接收不到参数

问题描述:

微信小程序:wx.request()请求后台接收不到参数,我通过wx.request()使用POST方式调用请求,参数传递不到后台

解决方案:

Content-Type’: ‘application/json’用在get请求中没问题,但是在POST请求中出现了这个问题。

修改wx.request()的请求头中的content-type:

    header: {
'content-type': 'application/x-www-form-urlencoded',
},

这样就解决问题了。

完整的写法如下:

wx.request({
url: url,
method: 'POST',
data:{传递给后台的参数},
header: {
'content-type': 'application/x-www-form-urlencoded',
},
success: (res) => {
……
},
})

但是出现问题的原因是什么呢?

错误原因:

我们后台习惯性地使用的:application/json;charset=UTF-8形式,所以在后台接收参数的时候,需要使用注解@RequestBody

像下面这样:

@PostMapping("/query")
public List<String> query(@RequestBody UserQueryBO userQueryBO) {
return userService.query(userQueryBO);
}

主要是接收参数时使用@RequestBody注解,这样能保证参数被接受到。