wx.request(OBJECT)发起网络请求。默认 method的值是GET,GET发送的数据量是有限制的,这个可以不断试试数据来试验出来。我们的微信小程序,因为需要发送几十个变量的数据,是几十,不是十几。GET方式已经超过了。只能选择用POST方式,在网上看了别人分享的POST发送数据,发送json。在我这里都不是很适合,因为我这里要求发送一些额外的数据来验证安全性,然后还要再有json数据作为具体的有效数据,也就是既有普通字段数据,又有json格式的数据。网络上有分享的一次发送一个json格式的数据在我这里并不合适。我这里展示一下,我采用的方法。


微信小程序发送json格式的数据,很容易转变为object,后端不好解释。这个我们可以打开微信小程序编辑器,调试的时候打开Network,中找到具体发送的那个网络地址单击一下,在Headers选项卡中最后面有具体发送的数据以及数据格式。可以自己查看自己发送的数据形态。


这里我采用的是发送json格式的数据的时候是彻底破坏掉json数据格式,然微信小程序不认为这是json格式的数据,服务器收到这段乱码后再根据约定的破坏方式解析出出来。实际上跟加密一样。通过位移来实现让数据乱码。


微信小程序发送post携带jsonJava接收 微信小程序 post json_json格式

大家注意看的几个问题,一个问题是header,这个如果不理解就要去查微信小程序文档,这里就不啰嗦了,关键在地下注释画对号那一句,是通过位移加密的方式破坏,变成乱码,不再是json格式了。具体的加密或者位移,大家自己写到util里调用就可以了。服务器收到了乱码后用同样的方式位移解密出来就可以使用了。

有了这个方法,大家想使用微信小程序发送多少数据就发送多少,想发送啥格式的数据就发送啥格式的数据,此法我认为是解决post数据的终极大法。有更好的方法可以告诉我。




哇,今天发现了,有更多方式来操作,比如字符串转二进制。