好久沒有分享小程序的實(shí)踐了。這次放個(gè)大招吧。微信小程序
wx.request(OBJECT)發(fā)起網(wǎng)絡(luò)請(qǐng)求。默認(rèn) method的值是GET,GET發(fā)送的數(shù)據(jù)量是有限制的,這個(gè)可以不斷試試數(shù)據(jù)來試驗(yàn)出來。我們的微信小程序,因?yàn)樾枰l(fā)送幾十個(gè)變量的數(shù)據(jù),是幾十,不是十幾。GET方式已經(jīng)超過了。只能選擇用POST方式,在網(wǎng)上看了別人分享的POST發(fā)送數(shù)據(jù),發(fā)送json。在我這里都不是很適合,因?yàn)槲疫@里要求發(fā)送一些額外的數(shù)據(jù)來驗(yàn)證安全性,然后還要再有json數(shù)據(jù)作為具體的有效數(shù)據(jù),也就是既有普通字段數(shù)據(jù),又有json格式的數(shù)據(jù)。網(wǎng)絡(luò)上有分享的一次發(fā)送一個(gè)json格式的數(shù)據(jù)在我這里并不合適。我這里展示一下,我采用的方法。
微信小程序發(fā)送json格式的數(shù)據(jù),很容易轉(zhuǎn)變?yōu)閛bject,后端不好解釋。這個(gè)我們可以打開微信小程序編輯器,調(diào)試的時(shí)候打開Network,中找到具體發(fā)送的那個(gè)網(wǎng)絡(luò)地址單擊一下,在Headers選項(xiàng)卡中最后面有具體發(fā)送的數(shù)據(jù)以及數(shù)據(jù)格式。可以自己查看自己發(fā)送的數(shù)據(jù)形態(tài)。
這里我采用的是發(fā)送json格式的數(shù)據(jù)的時(shí)候是徹底破壞掉json數(shù)據(jù)格式,然微信小程序不認(rèn)為這是json格式的數(shù)據(jù),服務(wù)器收到這段亂碼后再根據(jù)約定的破壞方式解析出出來。實(shí)際上跟加密一樣。通過位移來實(shí)現(xiàn)讓數(shù)據(jù)亂碼。
大家注意看的幾個(gè)問題,一個(gè)問題是header,這個(gè)如果不理解就要去查微信小程序文檔,這里就不啰嗦了,關(guān)鍵在地下注釋畫對(duì)號(hào)那一句,是通過位移加密的方式破壞,變成亂碼,不再是json格式了。具體的加密或者位移,大家自己寫到util里調(diào)用就可以了。服務(wù)器收到了亂碼后用同樣的方式位移解密出來就可以使用了。
有了這個(gè)方法,大家想使用微信小程序發(fā)送多少數(shù)據(jù)就發(fā)送多少,想發(fā)送啥格式的數(shù)據(jù)就發(fā)送啥格式的數(shù)據(jù),此法我認(rèn)為是解決post數(shù)據(jù)的終極大法。有更好的方法可以告訴我。
|