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

x3naxklr  于 2023-08-08  发布在  Go
关注(0)|答案(1)|浏览(87)

我发送 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;
    };

字符串

bksxznpy

bksxznpy1#

在Django视图中,您应该使用django.template.loader.render_to_string渲染模板,然后使用django.http.HttpResponse返回模板。
在前端,您可以执行类似.success(data => $("body").html(data))的操作
关键是您应该显式地将模板呈现为字符串

相关问题