python - 没有使用 AJAX 刷新页面的 Django
问题描述
当老师更新学生行为时,弹出消息“更新成功”,
在我的情况下,当老师更新学生行为时,页面显示为空白
我错过了什么 ?请检查我的返回 HttpResponse('')是否正确以及我的脚本。
这是来源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>
我的意见.py
def Updatestudentbehavior(request):
.....
return HttpResponse('')
网址.py
path('Updatestudentbehavior/', Homepage.views.Updatestudentbehavior, name='Updatestudentbehavior'),
当我尝试这个时更新
def Updatestudentbehavior(request):
.....
return HttpResponse('Success')
我收到了这个
它没有调用我在 html 中创建的 ajax 我尝试尝试 console.log
<script>
$(document).on('submit', '.myform', function(e) {
e.preventDefault();
console.log(this);
..
</script>
这是结果
解决方案
您的事件处理程序是一个空函数,因为您有语法错误。更改以下行:
$(document).on('submit', '#DogForm', function(e)){
...
}
至
$(document).on('submit', '#DogForm', function(e) {
...
})
推荐阅读
- javascript - 如何使用 vue js 获取元素?
- javascript - 动态表单在 Angular 7 中不起作用
- php - 密码重置令牌存储 - 值应该被散列吗?
- python-3.x - ValueError:请求 url Scrapy 中缺少方案
- amazon-web-services - 我可以给我的客户一个 AWS 存储桶链接,他们可以去那里上传文件吗?
- wordpress - 无法在 WordPress 的表中插入值
- oracle - 我可以使用连接 DB2 和 Oracle 的 dblink 用于 DB2 上的 DML 操作吗?
- ios - Collectionview动态宽度不起作用Swift
- c++ - 向量的 C++ 读取访问冲突
- php - 在 MySQL 中使用 SELECT DISTINCT 从数据中删除非字母字符