我有这样的代码
$.each(inputOptions, function (key, element) {
$options.append("<option value=" + element.value + ">" + element.key + "</option>>");
});
创建动态字段,一切都很好,除非&#39; element.key&#39;实际上有效的JS脚本!所以警告(&#34; XSS&#34;); 之类的东西会产生警报。怎么预防这个?据我所知,从浏览器的角度来看,它与内联JS一样,但仍有任何解决方法吗?
答案 0 :(得分:3)
使用DOM方法或jQuery抽象来将字符串视为文本而不是HTML。
$options.append(
$("<option />")
.attr("value", element.value)
.text(element.key)
);