Django без Page Refre sh с использованием AJAX - PullRequest
0 голосов
/ 17 марта 2020

Когда учитель обновляет поведение ученика, появляется всплывающее сообщение «Обновление успеха»,

, в моем случае, когда учитель обновляет поведение ученика, страница кажется пустой

сделал Я что то пропустил? пожалуйста, проверьте мой возврат HttpResponse ('') , если он верен, и мой сценарий.

enter image description here

это источник https://www.youtube.com/watch?v=KgnPSmrQrXI

<form method="POST" id="DogForm" action="/Updatestudentbehavior/"  class="myform" style="width: 100%" enctype="multipart/form-data">{% csrf_token %}
    <table class="tblcore">
    <input type="text" value="{{teacher}}" name="teacher" id="teacher">
        {% for students in student %}
        <tr>
            <td colspan="2"><input type="hidden" value="{{students.id}}" >{{students.Students_Enrollment_Records__Students_Enrollment_Records__Students_Enrollment_Records__Students_Enrollment_Records__Student_Users__Lastname}} {{students.Students_Enrollment_Records__Students_Enrollment_Records__Students_Enrollment_Records__Students_Enrollment_Records__Student_Users__Firstname}}</td>
            {% for corevalues in studentsbehaviorgrade %}
            <td colspan="4">
                <input type="hidden" value="{{corevalues.id}}" name="id" id="student">
                 <select name="Marking" id="marking">
                     <option value="{{corevalues.Marking.id}}" >{{corevalues.Marking.id}}-{{corevalues.Marking.Marking}}</option>
                     {% for behaviors in behavior %}
                        <option value="{{behaviors.id}}">{{behaviors.id}}-{{behaviors.Marking}}</option>
                     {% endfor %}
                 </select>
             </td>
            {% endfor %}
        </tr>
        {% endfor %}
    </table>
    <input type="submit" value="Update">
</form>

это мой сценарий

<script type="text/javascript">
   $(document).on('submit', '#DogForm', function(e) {
      e.preventDefault();
        $.ajax({
            type:'POST',
            url:'/Updatestudentbehavior/'
            data:{
                teacher:$('#teacher').val(),
                student:$('#student').val(),
                marking:$('#marking').val(),
                csrfmiddlewaretoken:$('input[name=csrfmiddlewaretoken]').val()
            },
            success:function(){
                alert('Update Success');
            }
        });
   });
</script>

my views.py

def Updatestudentbehavior(request):
    .....
    return HttpResponse('')

urls.py

path('Updatestudentbehavior/', Homepage.views.Updatestudentbehavior, name='Updatestudentbehavior'),

ОБНОВЛЕНИЕ когда я попробовал это

def Updatestudentbehavior(request):
    .....
    return HttpResponse('Success')

я получил это

enter image description here

это не сделал не вызывайте ajax, который я создал в моем html, я пытаюсь попробовать console.log

<script>
$(document).on('submit', '.myform', function(e) {
      e.preventDefault();
      console.log(this);
..
</script>

это результат

enter image description here

1 Ответ

0 голосов
/ 17 марта 2020

Ваш обработчик событий является пустой функцией, потому что у вас есть синтаксическая ошибка. Измените следующие строки:

$(document).on('submit', '#DogForm', function(e)){
...
}

на

$(document).on('submit', '#DogForm', function(e) {
...
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...