在写jquery代码的时候,我们有些时候为了传递数据,会先将数据利用attr或者data方法将数据写入到一个dom元素上,等到最后的时候再拿出来。

如果只是简单的数据还好,如果遇到数组,最简单可能就是直接用JSON.stringify将数组变成字符串,到时候用JSON.parse转换过来。不过有些时候可能会用一种比较有风险的方式:利用一个特殊的字符串进行拼接,这种时候是有一定风险的,这个风险不是说输入的内容可能和特殊字符串相同,而是一个转义的问题。

我们用&nb&去拼接输入的两个参数,一般情况下没有问题,可是如果你输入以下就会出现问题了:

我们可以发现,本来应该是&#340的,可是变成了一个特殊的符号。上面的案例为什么会出现这种情况呢,主要是直接将拼好的字符暴露在html里面,导致转义。如果使用attr()或者data()都不会转义。

因此,如果你想直接把一个拼凑的字符串暴露在html下,应该注意这个点,就是拼接的字符串是否会导致转义。

其他文章

0
我要评论

评论

返回
×

我要评论

回复:

昵称:(昵称不超过20个字)

图片:

提交
还可以输入500个字