微信小程序-- 请求数据传到服务端为null 解决方法

微信小程序调用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 reqbody) {
    String code = reqbody.get("code");
    return ***;
}

主要是接收参数时使用@RequestBody,将所有参数都写入map中,使用时直接get即可。

你可能感兴趣的:(微信小程序)