的javascript:
$('.openDiv').click(function () {
var id = $(this).attr('id');
var csrf_token = $("#csrf_token").val();
$.ajax({
data: {
csrfmiddlewaretoken: ('{{csrf_token}}'),
id: id,
},
type: 'POST',
url: '/setting/save-reporter/',
success: function () {
$('#authorisedreporter').load('save_reporter.html');
}
});
});
的index.html
<div id="authorisedreporter" {% if not registerform.errors %}style="display:none"{% endif %}>
<form method="post" action="." id="reporter-form">
{% csrf_token %}
<table width="100%">
""""""""
</table></form></div>
save_reporter.html
<form method="post" action="." id="{{ id }}">
{% csrf_token %}
<table width="100%">
"""""""""
</table></form>
我正在使用ajax和js,在成功调用ajax之后,div被save_reporter.html替换。但是我在控制台中找不到404页面错误。如果我没有使用$('#authorisedreporter').load('save_reporter.html');
,我会得到控制台中所需的输出。虽然试图在模板中显示输出,但我得到了错误。需要帮助。
答案 0 :(得分:1)
您无法使用jQuery load
函数从Django加载模板。模板不是独立的HTML页面:正如您从编写其他视图时所知,您需要编写URL和视图来呈现模板并将其返回。
您应该做的是让/setting/save-reporter/
视图返回呈现的模板,然后通过.html()
将结果插入您的div:
success: function(response) {
$('#authorisedreporter').html(response);