微信小程序POST请求参数传递不到后台, 前台获取不到后端返回的数据, 以及 post 请求返回 404 但后台能收到数据

1 微信小程序POST请求参数传递不到后台

需要在微信请求 wx.request 改变默认 header 配置为如下

wx.request({
  url: 'test.php', //仅为示例,并非真实的接口地址
  data: {
     x: '' ,
     y: ''
  },
  header: {
        'content-type': 'application/x-www-form-urlencoded' // 改变默认值为这个配置
  },
  success: function(res) {
    console.log(res.data)
  }
})

2 前台获取不到后端返回的数据

需要在微信请求 wx.request 改变默认 dataType 配置为如下

wx.request({
  url: 'test.php', //仅为示例,并非真实的接口地址
  data: {
     x: '' ,
     y: ''
  },
  header: {
        'content-type': 'application/x-www-form-urlencoded' // 改变默认值为这个配置
  },
  dataType: 'json', // 添加这个配置
  success: function(res) {
    console.log(res.data)
  }
})

3 post 请求返回 404 但后台能收到数据

这个需要后台的配置 参见

微信小程序

错误:

后台使用springmvc注解

wx.request请求,url正确,能够将数据传递到后台,后台能够正确处理返回值,但是小程序端却提示

post (请求的url) not found 404

原因:

请求函数没有加上@responsebody 的注解,这个404 并非是请求地址找不到, 而是springmvc 的前端控制器对返回值映射时找不到对应的视图,所以返回了404

解决:

函数返回前加上注解

private @ResponseBody 函数名