发表日期:2018-07 文章编辑:小灯 浏览次数:772
在微信小程序开发过程中,如果你完全按照官方文档来,那么恭喜你,90%的可能性你会掉入大坑而且还难以爬起来,有时候明显没有任何问题但是结果就是不对。
今天就来给大家说一下客户端发起post请求时的一个坑。
按照官方文档,我们客户端发起post请求的代码如下:
t:function() {wx.request({url: 'https://www.meimichao.com/bee/uploadHandler',data: {"city":"123" },method: 'POST', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT //header: {"Content-Type":"application/x-www-form-urlencoded"}, // 设置请求的 headersuccess: function(res){console.log(JSON.stringify(res));},fail: function(res) { console.log(JSON.stringify(res));},complete: function() {// complete} })}, 但是你这么写,无论如何在服务器端都是获取不到参数city的值的,始终会报null。这时你只要将post请求改成get请求类型,马上就可以获取到city参数的值了,
客户端改成:
t:function() {wx.request({url: 'https://www.meimichao.com/bee/uploadHandler',data: {"city":"123" },method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT //header: {"Content-Type":"application/x-www-form-urlencoded"}, // 设置请求的 headersuccess: function(res){console.log(JSON.stringify(res));},fail: function(res) { console.log(JSON.stringify(res));},complete: function() {// complete} })}, 服务器端:
image.png 非常奇怪的是,我们只要在post请求中加上下面这个请求头,服务器端马上就可以获取到city参数的值了。
header: {"Content-Type":"application/x-www-form-urlencoded"},