Я изучаю Django и создаю функциональную кнопку Like без необходимости перезагрузки страницы с использованием Ajax.Это мой первый контакт с JS.Это работает, но я хочу передать html (FontAwesome) в этом скрипте, чтобы показать значок вместе с номером Likes.
Я попытался передать его, используя аргумент "глагол" в функции, но он просто показывает простой текст).Я также попытался получить HTML-код как var (из похожих вопросов о StackOverflow), но он не работает для меня (он отображает [объект объекта]).Я думаю, что я делаю что-то не так.Код ниже:
<script>
var HtmlHeart = $(this).children("i").attr("class", "fas fa-heart")
$(document).ready(function() {
function UpdateText(btn, NewCount, HtmlHeart) {
btn.attr("data-likes", NewCount)
btn.text(HtmlHeart + " " + NewCount)
}
$(".like-btn").click(function(e) {
e.preventDefault()
var this_ = $(this)
var LikeUrl = this_.attr("data-href")
var LikeCount = parseInt(this_.attr("data-likes")) | 0
var AddLike = LikeCount + 1
var RemoveLike = LikeCount - 1
if (LikeUrl) {
$.ajax({
url: LikeUrl,
method: "get",
data: {},
success: function(data) {
console.log(data)
if (data.liked) {
UpdateText(this_, RemoveLike, HtmlHeart)
} else {
UpdateText(this_, AddLike, HtmlHeart)
}
},
error: function(error) {
console.log(error)
console.log("error")
}
})
}
})
})
</script>
Не могли бы вы помочь мне понять, как можно передать HTML как Var?При необходимости я добавлю views.py и .html код шаблона.Спасибо!