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

猜你喜欢

转载自www.cnblogs.com/mmzs/p/11606472.html