微信小程序开发(六)

POST请求的坑

使用wx.request向服务器提交数据时遇到的坑

1、header

wx.request 默认的是使用GET方法,content-typeapplication/json,但是对于普通的POST方法向服务器提交数据,我们需要修改header如下:

method: 'POST',
header: {
    "content-type": "application/x-www-form-urlencoded"
},

2、多层级JSON

这种情况比较特殊。一般情况下POST请求会自动将data字段中的数据转换成JSON,所以我们的header写法如1中所述。
这次做的点餐系统中,需要向服务器提交的数据中又包含JSON字段:

data: { 
    openid: "test", 
    desk_num: that.data.tableid, 
    order: that.data.currOrder
},
method: 'POST',
header: {
   "content-type":  "application/x-www-form-urlencoded"
},

其中order是对应的用户订单列表。但是在测试的过程中,服务器后端接收到的结果如下:

这里写图片描述

服务器端读不出order的内容。这种情况下header仍要换成默认的格式:

method: 'POST',
header: {
   "content-type": "application/json"
},

这样服务器就可以正常获取order字段的内容了。

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