Vue中提供了一個很方便的過濾器encode,作用是將字符串進行編碼,把特殊字符轉化為HTML實體字符,從而避免了一些安全問題。encode過濾器的語法格式為{{variable | encode}},其中variable為需要編碼的字符串。
VUE中提供的encode過濾器背后原理是調用了瀏覽器提供的內置方法:encodeURIComponent。該方法可以將字符串中的非數字字母字符(如"&"、"+"、"/"、"")以及漢字進行編碼,以便于URL傳遞、防止XSS等等。在實際應用中,encode過濾器可以用于對HTML標簽屬性值進行編碼避免XSS攻擊,如:
跳轉鏈接
上述代碼中,如果url中含有特殊字符,沒有編碼就有可能導致XSS攻擊,通過使用encode過濾器進行編碼,可以有效解決該問題。
除了在模板中使用過濾器進行編碼以外,我們也可以在Vue實例中手動調用encodeURIComponent方法對字符串進行編碼,如:
let str = "你好, Vue!"; let encodedStr = encodeURIComponent(str); console.log(encodedStr); // "%E4%BD%A0%E5%A5%BD%2C%20Vue%21"
上述代碼中,str是需要編碼的字符串,通過調用encodeURIComponent方法,我們得到了將漢字和空格進行編碼后的字符串encodedStr。
上一篇c 序列化json