在做微信小程式時遇到的問題,記錄一下。
需求:
將購物車頁面的商品資訊通過url傳到確認訂單頁
複製程式碼
購物車頁面處理過程:
在購物車頁面,處理商品資訊組裝成如下形式:
goodsInfoArr = [{"GoodsId":"12","GoodsImg":"http://a.example.com/xx/?sss/fgfg","GoodsTitle":"這裡是title"}]
GoodsImg的url是後端傳過來的商品圖片的url形式
然後,將這個商品資訊的陣列通過JSON.stringify()轉化成字串,放在頁面的url中傳過去
goodsInfoStr = JSON.stringify(goodsInfoArr);
wx.navigateTo({
url: 'test?goodsInfo=goodsInfoStr'
})
複製程式碼
確認訂單頁面處理過程:
在確認訂單頁面拿到url上的goosInfoStr之後,我們開始用JSON.parse(goosInfoStr)來解析這個資料
複製程式碼
此時,問題來了,頁面報錯了,原因是 img的地址裡面 ?被截斷了
解決方法
只要在購物車頁面用encodeURIComponent()對goodsImg的url進行編碼,然後在確認訂單頁利用decodeURIComponent()對url進行解碼就可以了
goodsInfoArr = [{
"GoodsId":"12",
"GoodsImg":encodeURIComponent("http://a.example.com/xx/?sss/fgfg"),
"GoodsTitle":"這裡是title"
}]
JSON.parse(goodsInfoArr)
然後用的時候就 decodeURIComponent(goodsInfoArr.GoodsImg)就可以了
複製程式碼