jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了使用JQuery和AJAX在Django中刷新div大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图用 AJAXJQuery(在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); with $(‘body’).html(data);它刷新整个页面应该如何,但我觉得刷新整个页面是一种浪费.

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

解决方法

首先,看起来你的代码坏了 – 这不是一个有效的Javascript / jQuery指令:

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

您需要添加缺少的引用:

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

至于只刷新一个div,我会将该div的内容@L_801_16@到单独的模板my_div.html,使用{%include“my_div.html”%}将其包含在主页面模板中.然后,在我的AJAX视图中,我将渲染并仅返回渲染my_div.html.

大佬总结

以上是大佬教程为你收集整理的使用JQuery和AJAX在Django中刷新div全部内容,希望文章能够帮你解决使用JQuery和AJAX在Django中刷新div所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。