在我編寫公司小程序的過程當中,有一次在網頁端添加了一張圖片,結果在小程序端訪問失敗了,究其緣由,居然是由於該圖片名稱中有一個「&」符號,網頁端添加後,自動轉義成了「&」存儲到了數據庫。固然,這種格式若是是在HTML去訪問圖片地址,會自動在轉義成「&」,可是小程序的WXML並無這種功能,因此這就須要咱們在小程序端自行操做進行轉義了。數據庫
首先,明確一下會自動轉義存儲的經常使用的特殊字符有哪些:小程序
字符 | 轉義字符 |
" | " |
& | & |
< | < |
> | > |
[空格] | |
若是是在<text>標籤中顯示文本內容,能夠直接經過設置decode=‘true’的屬性進行轉義。ui
但由於我是在<image>標籤中訪問,因此小程序中沒有便捷方法能夠轉義,寫了一個死方法——replace.js,以下:url
//替換URL中特殊字符 function replaceSpecialChar(url) { url = url.replace(/"/g, '"'); url = url.replace(/&/g, '&'); url = url.replace(/</g, '<'); url = url.replace(/>/g, '>'); url = url.replace(/ /g, ' '); console.log("轉義字符", url); return url; } module.exports = { replaceSpecialChar: replaceSpecialChar }
須要用到的時候,在頁面對應的js裏面調用該方法:spa
var replace = require("../../utils/replace.js"); Page({ .............. url = replace.replaceSpecialChar(res.data.url) })
這樣就能訪問到圖片啦~~~3d
/****************************我是可愛的分割線********************************/code