当前位置: 首页 > 面试题库 >

使用JQuery和AJAX在Django中刷新div

杨骁
2023-03-14
问题内容

我正在尝试使用AJAX和JQuery(在Django中)刷新页面的特定部分。如何获取仅重新显示div而不重新显示整个页面的信息。

    // In my template
    var tag_cloud_floor = function(floor) {
    $.ajax({ url: "/{{ user }}/{{ tag }}/",
                     data: {tag_cloud_floor: floor},
                     type: 'POST',
                     success: function(data) {
                         $('#tag_cloud).html(data);
                     },
    });

};

这是我的看法。

@login_required
def tag_page(request, username, tag):
  if username == request.user.username:
    tags = request.user.userprofile.tag_set.all()

    if request.is_ajax() and request.POST:
      floored_tags = []
      for t in tags:
        if t.item_set.all().count() >= int(request.POST['tag_cloud_floor']):
          floored_tags.append(t)
      tags = floored_tags

    tag = Tag.objects.get(title=tag)
    items = tag.item_set.all()
    return render_to_response("tag_page.html", { 'user': request.user , 
                                              'tag': tag,
                                             'tags': tags,
                                            'items': items })
  else:
  return HttpResponseRedirect('/' + request.user.username + '/')

当前,它将整个html页面放入#tag_page div中。我希望它用新的#tag_page div替换旧的#tag_page
div。如果替换$('#tag_cloud').html(data);$('body').html(data);它,则将整个页面刷新到应有的状态,但是我认为刷新整个页面是一种浪费。

如果有更好的方法,请告诉我。


问题答案:

首先,看起来您的代码已损坏-这不是有效的Javascript / jQuery指令

$('#tag_cloud).html(data);

您需要添加缺少的引号:

$('#tag_cloud').html(data);

至于只刷新一个单一的div,我会将那个div的内容提取到一个单独的模板中my_div.html,用{% include "my_div.html" %}。然后,在我的AJAX视图中,将渲染并仅返回rendered my_div.html



 类似资料:
  • 问题内容: 这可能是一个简单的问题,但我很困惑,只是不知道从哪里开始。 我有一个PHP脚本(image_feed.php),该脚本返回图像的URL。每次调用此UR1时,它都会返回可用的最新图像(该图像每隔几秒钟更改一次)。 我想发生的是,当页面加载时,有一个对image_feed.php的AJAX调用,该调用返回了最新的URL。然后将该UR1插入HTM1,以替换适当的图像src。 5秒后,我希望重

  • 问题内容: 我有一个包含许多ListView的页面,我希望用户能够对它们进行排序和翻页。我不想每次都回发并重新绑定整个页面,而是希望通过jQuery / AJAX有选择地针对所涉及的控件进行操作。我很容易在页面中对WebMethod进行客户端调用- 我的问题是如何通过jQuery将返回的数据返回到ListView中? (注意:我不想使用UpdatePanel!) 问题答案: 我不确定仅由于List

  • 问题内容: 首先,我是Django的新手,几乎完全不熟悉AJAX和jQuery。 我在本地开发。 因此,我正在尝试实现一个HTML表,该表在AJAX的帮助下每X秒钟动态刷新一次(无需页面刷新),但是我似乎无法使我的代码正常工作。 (如果我有足够的代表,我可能会回答这个问题,或者从聊天中寻求帮助,但我还没有那么高兴) 我一直在努力使它工作10多个小时,而我开始感到无助。我一直在疯狂地搜索网络,但是这

  • 问题内容: 我正在开发一个新项目http://www.hotwirerevealed.com,该项目可以在hotwire.com上显示/识别酒店。输入状态和目的地后,我有了一个使用jquery的.post方法发布的javascript函数。发布请求转到输出html的php页面,我使用jquery的html方法将内容放置在页面上。 像这样 我有超链接,指向要在灯箱中使用的酒店 我试图使用jQuery

  • 问题内容: 我想在单击按钮时重新加载div。我不想重新加载整个页面。 这是我的代码: HTML: 单击按钮后,应该重新加载而不加载或刷新整个页面。 以下是我尝试过但无法正常工作的Jquery:- 请提出建议。 这是我页面上的DIV,其中包含一些产品的图片和序列号…这将是第一次加载时来自数据库的信息。但是,如果用户遇到问题,他将单击“再次捕获”按钮“ ”,这将再次加载这些信息。 Div的HTML代码

  • 问题内容: 从方法调用函数后,我需要您的帮助才能刷新html中的div 。目前,使用以下几行调用后,我将加载整个页面。 在我的java方法中,我使用下面的代码行来调用javascript方法: html代码: 问题答案: 您可以部分加载HTML页面,这是div#mytable中的所有内容。 有关更多信息,请阅读此http://api.jquery.com/load/ 更新代码(如果您不希望它自动刷