From:http://blog.csdn.net/a61595579/article/details/53404451
记录微信小程序wx.request这个api在跟后台交互时遇上的问题。
1、根据资料,完成第一步,请求发送,代码如下:
- <span style="white-space:pre"> </span>wx.request({
- url: 'https://localhost:8443/xiaochengxu/addBill.do',
- data: e.detail.value,
- method: 'POST',
- success:function(res) {
- console.log('submit success');
- },
- fail:function(res){
- console.log('submit fail');
- },
- complete:function(res){
- console.log('submit complete');
- }
-
- })
后台成功接收到请求,控制台也打印了submit success和submit complete,但是,后台请求并未接收到数据,打开调试,发现数据都在request payload中,所以后台无论是springmvc的映射bean还是req.getParameter都拿不到参数。
解决方法参考链接:http://blog.csdn.NET/mhmyqn/article/details/25561535/
简单说就是增加了header: {'content-type': 'application/x-www-form-urlencoded'},后台成功获取数据。至此,代码如下:
- <span style="white-space:pre"> </span>wx.request({
- url: 'https://localhost:8443/xiaochengxu/addBill.do',
- data: e.detail.value,
- method: 'POST',
- header: {'content-type': 'application/x-www-form-urlencoded'},
- success:function(res) {
- console.log('submit success');
- },
- fail:function(res){
- console.log('submit fail');
- },
- complete:function(res){
- console.log('submit complete');
- }
-
- })
2、接收请求返回数据
这一步问题不大,我是按照json格式返回的,只是按照官网写的console.log(res.data)的话,会在控制台打印Object,带上参数名就好了,比如res.data.code