Javascript Ajax不起作用-提交时数据和页面不会发生任何更改
尝试在未呈现页面的情况下进行提交,但该操作不起作用,单击“提交”按钮时将呈现页面。如何从以下字段更新详细信息 像这样的模板Javascript Ajax不起作用-提交时数据和页面不会发生任何更改,javascript,django,ajax,Javascript,Django,Ajax,尝试在未呈现页面的情况下进行提交,但该操作不起作用,单击“提交”按钮时将呈现页面。如何从以下字段更新详细信息 像这样的模板 {% for i in userlist %} <form method="POST" id="profileUpdate"> {% csrf_token %} <input class="email" type="email" value="{{i.
{% for i in userlist %}
<form method="POST" id="profileUpdate">
{% csrf_token %}
<input class="email" type="email" value="{{i.email}}" id="email">
<input class="dob" id="dob" type="text" value="{{i.date_of_birth}}" >
<button type="submit" class="btn btn-primary">Save changes</button>
</form>
{% endfor %}
url.py
urlpatterns = [
path('registeredusers', registeredusers.as_view(), name="registeredusers"),
path('profileUpdate', views.profileUpdate, name='profileUpdate'),
]
使用preventDefault()
防止页面加载
<script>
$(document).on('submit', '#profileUpdate', function (e) {
e.preventDefault(); //====> Add this line.
$.ajax({
type: 'POST',
url: '{% url "profileUpdate" %}',
data: {
email: $('#email').val(),
dob: $('#dob').val(),
csrfmiddlewaretoken: $('input[name=csrfmiddlewaretoken]').val(),
action: 'post'
},
success: function (json) {
alert("Success");
},
});
});
</script>
$(文档)。关于('submit','#profileUpdate',函数(e){
e、 preventDefault();//=>添加此行。
$.ajax({
键入:“POST”,
url:“{%url”档案更新“%}”,
数据:{
电子邮件:$('#email').val(),
dob:$('#dob').val(),
csrfmiddlewaretoken:$('input[name=csrfmiddlewaretoken]')。val(),
行动:"邮政"
},
成功:函数(json){
警惕(“成功”);
},
});
});
好的,我将添加这些行,但不做任何更改!对整个ajax代码进行一分钟的注释,看看它现在是否仍在重新加载?是的,因为我只在这个函数中使用ajax,您是否对其进行了注释和检查?我正试图调试这个问题。如果函数为空时它没有重新加载,那么问题在于ajax调用。是的,仍然在重新加载
urlpatterns = [
path('registeredusers', registeredusers.as_view(), name="registeredusers"),
path('profileUpdate', views.profileUpdate, name='profileUpdate'),
]
<script>
$(document).on('submit', '#profileUpdate', function (e) {
e.preventDefault(); //====> Add this line.
$.ajax({
type: 'POST',
url: '{% url "profileUpdate" %}',
data: {
email: $('#email').val(),
dob: $('#dob').val(),
csrfmiddlewaretoken: $('input[name=csrfmiddlewaretoken]').val(),
action: 'post'
},
success: function (json) {
alert("Success");
},
});
});
</script>