我发送 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;
};
字符串
1条答案
按热度按时间bksxznpy1#
在Django视图中,您应该使用
django.template.loader.render_to_string
渲染模板,然后使用django.http.HttpResponse
返回模板。在前端,您可以执行类似
.success(data => $("body").html(data))
的操作关键是您应该显式地将模板呈现为字符串