I know that I can use $.html
to set the HTML content of something, and $.text
to set the content (and that this escapes the HTML).
Unfortunately, I'm using $.append
, which doesn't escape the HTML.
I've got something like this:
function onTimer() {
$.getJSON(url, function(data) {
$.each(data, function(i, item) {
$('#messages').append(item);
}
}
}
...where the url returns an array of strings. Unfortunately, if one of those strings is (e.g.) <script>alert('Hello')</script>
, this gets executed.
How do I get it to escape HTML?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…