[英]Django - How to add data from AJAX button into html, so it updates everytime button is clicked?
目前,我已經設置了一個像按鈕一樣的ajax。 控制台顯示,當我按下按鈕時,喜歡計數正在切換,但是實際上我該如何檢索要放入HTML的“ like_count”變量。 我的按鈕代碼是:
<script type="text/javascript">
function toggleLike(){
$.ajax({
url: "{% url 'photo_blog-post_like_api' post.id %}",
data: {like_count: 'like_count', 'csrfmiddlewaretoken': '{{ csrf_token }}'},
dataType: "json",
success: function(data) {
console.log(data);
}
});
};
</script>
該按鈕的html是:
<input type="button" onclick="toggleLike()" value="Like"/>
我的看法的代碼是:
class LikePostAPI(APIView):
authentication_classes = (authentication.SessionAuthentication,)
permission_classes = (permissions.IsAuthenticated,)
def get(self, request, slug=None, format=None, pk=None):
obj = get_object_or_404(Post, id=pk)
user = self.request.user
updated = False
liked = False
if user.is_authenticated:
if user in obj.likes.all():
liked = False
obj.likes.remove(user)
like_count = obj.likes.count()
else:
liked = True
obj.likes.add(user)
like_count = obj.likes.count()
updated = True
data = {
"updated": updated,
"liked": liked,
"like_count": like_count
}
return Response(data)
您可以將以下行添加到ajax請求的成功函數中:
$("#likeCount").html(data.like_count);
其中likeCount是要在其中放置值的html標簽的ID,例如:
<div id="likeCount"></div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.