ajax请求成功后如何更新网页而不重新加载页面

问题描述 投票:0回答:1

我正在向服务器发送 AJAX 请求,成功后我想更新页面而不完全刷新它。这是我的代码片段,但在这里我可以重新加载页面,并且不知道如果没有它如何执行此操作,我的线路也无法工作,您能帮忙吗?

PS。我使用 Django 作为后端

function saveTags(slug, form, e) {
        e.preventDefault();
        let tags = form.getElementsByClassName("new-tags")[0].value;
        if (tags != '') {
            var formData = {
              csrfmiddlewaretoken: '{{ csrf_token }}',
              slug: slug,
              tags: tags,
            };
            var POST_URL = "{% url 'save_tags' %}";
            $.ajax({
                url: POST_URL,
                type: "POST",
                data:   formData,
                success: function (data) {
                  var x = document.getElementById("snackbar");
                  x.classList.add("show");
                  setTimeout(function(){ x.className = x.className.replace("show", ""); }, 3000);
                  $("document").html(data);
                  //window.location.reload(true);
                }
            }); // end ajax
        }
        return false;
    };
javascript django ajax
1个回答
0
投票

在 Django 视图中,您应该使用

django.template.loader.render_to_string
渲染模板,然后使用
django.http.HttpResponse
返回它。

在你的前端你可以做类似的事情

.success(data => $("body").html(data))

关键是你应该显式地将模板渲染为字符串

© www.soinside.com 2019 - 2024. All rights reserved.