簡體   English   中英

Django-如何將AJAX按鈕中的數據添加到html中,以便每次單擊按鈕時都會更新?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM