【发布时间】:2020-04-29 03:02:19
【问题描述】:
我是 ajax 和 Django 的新手。我尝试将 ajax 放入我的代码中,以在注册页面中检查是否某个用户已经拥有一封电子邮件,然后该电子邮件不能用于新用户并禁用按钮,否则如果电子邮件不存在,则可以创建用户.
ajaxCode
$(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.py
class 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.py 中print(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 %}
【问题讨论】:
-
那么你遇到了什么错误?你能提供更多细节吗?
-
@FurkanÖyken 控制台和服务器上没有错误。但我的功能不起作用。当我在数据库中已存在的电子邮件字段中键入邮件地址时,移至下一个密码字段时,它需要向我显示错误“电子邮件已存在”并禁用提交按钮,但它没有做这项工作。
标签: javascript python django ajax function