如果新用户的电子邮件地址已经存在,我正在尝试签入表单。
这是我的HTML:
$("#createform").validate({
errorClass: "errormessage",
validClass: "success",
rules: {
fname: {
required: true,
minlength: 2,
string: true,
},
lname: {
required: true,
minlength: 2,
string: true,
},
email: {
required: true,
email: true,
remote: $.getJSON($SCRIPT_ROOT + "/_check_mail")
},
password: {
required: true,
minlength: 5,
},
confirmpassword: {
equalTo: "#password"
}
}
这是我的Flask方法:
@app.route('/_check_mail')
def check_mail():
mail = request.args.get('email')
check = database.check_mail(mail)
return check
其中database.check_mail(mail)检查电子邮件是否已存在于数据库中并返回True或False(以JSON格式)。
当我第一次加载页面并且客户端尝试访问烧瓶URL(/ _check_mail)时,它可以工作:
http://0.0.0.0:5000/_check_mail
但是当我输入电子邮件时,我会将此请求发送到获得404响应的服务器:
http://0.0.0.0:5000/[object%20Object]?email=arnoutaertgeerts%40gmail.com
所以我认为发送电子邮件时出现问题?有什么想法吗?
答案 0 :(得分:0)
问题解决了!我用它作为我的要求:
email: {
required: true,
email: true,
remote: function( request, response ) {
$.getJSON($SCRIPT_ROOT + "/_check_mail", {
email: $('#email').val()
}, response);
}
现在除了显示错误消息外,一切正常。当电子邮件已经存在时,我返回带有错误消息的字符串(如文档中所述),但消息不会显示。但是当我看到这些反应时,我明确地接受了它!