我想应用验证的电子邮件,如果电子邮件是有效的或没有,并在数据库检查后使用 AJAX 来验证电子邮件已经存在,电子邮件已经exxt检查应该工作,如果第一次检查通过,这里是我做了什么,我在email_already_exist检查卡住,如何验证只有当上述检查通过,如果有人知道如何做
// code which checking email is valid
email: ko.observable((ref = REGISTRY.unsavedUser) != null ? ref.email : void 0).extend({
required: true,
email: {
params: true,
message: 'Please enter a valid email.'
},
focus:true
}),
// function to check email exists
var email_exist_check = function() {
var errorElement = $('#parent-email-signup');
var emzil = errorElement.val();
return = $.ajax({
url: '/api/v3/email_exists',
method: 'POST',
async: false,
data: {
email: emzil
},
success: function(data){
console.log(data);
},
error: function (response, status) {
showFlashMessage('An error occured, please try again later.', 'error');
}
});
};
电子邮件现有的功能是现成的iam卡住了,如何使用上面的代码,请帮助
2条答案
按热度按时间iecba09b1#
永远不要永远不要在 AJAX 调用中使用
async: false
。您需要:
一个API Package 器,用于方便和以后的代码可读性。
和async validation rule,它们调用您的API:
使用此规则的可观察对象:
deikduxw2#
由于 AJAX 是异步的,你必须等待服务器响应,返回ajax调用不会等待服务器调用解析。解决这个问题的一种方法是使用回调(另一种方法是使用async/await进行承诺)