From 1f79acbe5ffa651dfdbed70d6c955c2ee4447cfa Mon Sep 17 00:00:00 2001 From: Kevin Brown Date: Wed, 10 Jul 2019 00:25:40 -0400 Subject: [PATCH] Fix XSS issue in AJAX example --- pages/06.data-sources/02.ajax/docs.md | 36 +++++++++++++++------------ 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/pages/06.data-sources/02.ajax/docs.md b/pages/06.data-sources/02.ajax/docs.md index f6de8de1..70aa31b2 100644 --- a/pages/06.data-sources/02.ajax/docs.md +++ b/pages/06.data-sources/02.ajax/docs.md @@ -309,7 +309,6 @@ $(".js-example-data-ajax").select2({ cache: true }, placeholder: 'Search for a repository', - escapeMarkup: function (markup) { return markup; }, // let our custom formatter work minimumInputLength: 1, templateResult: formatRepo, templateSelection: formatRepoSelection @@ -320,23 +319,28 @@ function formatRepo (repo) { return repo.text; } - var markup = "
" + - "
" + - "
" + - "
" + repo.full_name + "
"; + var $container = $( + "
" + + "
" + + "
" + + "
" + + "
" + + "
" + + "
" + + "
" + + "
" + + "
" + + "
" + + "
" + ); - if (repo.description) { - markup += "
" + repo.description + "
"; - } + $container.find(".select2-result-repository__title").text(repo.full_name); + $container.find(".select2-result-repository__description").text(repo.description); + $container.find(".select2-result-repository__forks").append(repo.forks_count + " Forks"); + $container.find(".select2-result-repository__stargazers").append(repo.stargazers_count + " Stars"); + $container.find(".select2-result-repository__watchers").append(repo.watchers_count + " Watchers"); - markup += "
" + - "
" + repo.forks_count + " Forks
" + - "
" + repo.stargazers_count + " Stars
" + - "
" + repo.watchers_count + " Watchers
" + - "
" + - "
"; - - return markup; + return $container; } function formatRepoSelection (repo) {