我是 ajax 和 Django 的新手。我尝试将 ajax 放入我的代码中,以在注册页面中检查是否某个用户已经拥有一封电子邮件,然后该电子邮件不能用于新用户并禁用按钮,否则如果电子邮件不存在,则可以创建用户.ajax代码$(document).on('blur', 'input[name="email"]', function(){ $.ajax({ type:'POST', url:'/stock/checkemail/', data:{ email:$("#email").val(), csrfmiddlewaretoken:$('input[name=csrfmiddlewaretoken]').val() }, success:function(){ $('input[type="submit"]').attr('disabled', 'true') }, failure:function(){ $('input[type="submit"]').removeAttr('disabled'); } })});url.py path('checkemail/',Emailser.as_view()),views.pyclass Emailser(View): def post(self, request): em = request.POST['email'] print(em) try: user = User.objects.get(email=em) return HttpResponse('true') except: return HttpResponse('false')在 views.pyprint(em)中也打印了在字段中输入但不知道为什么不起作用的邮件。 模板{% extends 'base.html' %}{% block content %}{% load static %}<div> <h2>Sign Up</h2> {% if error %}{{error}}<br/>{% endif %} <form method="post" id="signup" > {% csrf_token %} {{ form.as_p }} <button type="submit" class="btn btn-primary" >Signup</button> </form></div> <script src="{% static 'assets/signup.js' %}" ></script>{% endblock %}
2 回答
撒科打诨
TA贡献1934条经验 获得超2个赞
$(document).on('blur', 'input[name="email"]', function(){
$.ajax({
type:'POST',
url:'/stock/checkemail/',
data:{
email:$("#email").val(),
csrfmiddlewaretoken:$('input[name=csrfmiddlewaretoken]').val()
},
success:function(response){
response ? $('input[type="submit"]').attr('disabled', 'true') : $('input[type="submit"]').removeAttr('disabled');
},
failure:function(error){
console.log(error);
}
})
});
添加回答
举报
0/150
提交
取消