0

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');
        }
    });
});

索引.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 page not found 错误。如果我不使用$('#authorisedreporter').load('save_reporter.html');,我在控制台中获得所需的输出。尝试时在模板中显示输出我这样做了,我得到了错误。需要帮助。

4

1 回答 1

1

您不能使用 jQueryload函数从 Django 加载模板。模板不是独立的 HTML 页面:正如您在编写其他视图时已经知道的那样,您需要编写一个 URL 和一个视图来呈现模板并返回它。

您应该做的是让您的/setting/save-reporter/视图返回呈现的模板,并将结果插入到您的 div 中.html()

success: function(response) {
    $('#authorisedreporter').html(response);
于 2013-08-12T14:21:51.830 回答