問題描述:
微信小程序: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
注解,這樣能保證參數被接受到。