问题描述:
微信小程序: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
注解,这样能保证参数被接受到。