JavaScript函数总是运行底层代码
JavaScript function always run bottom code
我有这个部分工作的代码。它想做的是检查数据库中现有的电子邮件地址。如果不存在电子邮件,则return true;
$(document).ready(function() {
var email_check = 0;
var checking_html = '<img src="http://i.imgur.com/Y8wXAZp.gif" /> Checking...';
var characters_error = 'Minimum amount of chars is 6';
//when button is clicked
$('.register').click(function(){
//run the character number check
if($('#email').val().length < 1){
$('#email_result').html(characters_error);
return false;
}
else{
//else show the cheking_text and run the function to check
$('#email_result').html(checking_html);
alert(check_email_availability());
}
});
});
//function to check email availability
function check_email_availability(){
//get the email
var email = $('#email').val();
//use ajax to run the check
$.post("check_email.php", { email: email },
function(result){
email_check = 0;
//if the result is 1
if(result == 1){
//show that the email is available
email_check = 1;
}else{
email_check = 0;
}
});
if (email_check == 1){
return true;
}else{
return false;
}
}
现在,问题是,如果当前状态是false
,当我输入数据库中不可用的电子邮件并单击按钮时,我仍然会收到false
警报,而当我下次单击按钮时我会收到true
警报。出于某种原因,函数首先执行底部代码(检查email_check
值),然后执行函数。为什么?我的代码出了什么问题?如何让它执行函数,然后检查email_check
值,无论是否为1
?
我会改变这一点,在您的检查函数上设置一个ajax成功回调,类似于。
success: function (data, status, xhr ) {
myFunctionShowEmailSuccess();
},
error: function (xhr, status, error) {
myFunctionShowEmailFailure();
}
尝试这样做。
//function to check email availability
function check_email_availability(){
//get the email
var email = $('#email').val();
//use ajax to run the check
$.post("check_email.php", { email: email },
function(result){
email_check = 0;
//if the result is 1
if(result == 1){
//show that the email is available
return true;
}else{
return false;
}
});
}
相关文章:
- 如果此代码运行,请执行代码
- JavaScript游戏引擎——编辑器中的代码运行:)检查器中的错误
- JavaScript中的逗号运算符:应为语法错误,但代码运行正常
- 代码运行时出现问题
- Socket.IO:重新连接导致服务器连接代码运行两次
- 代码运行时的类型检查
- 将页面控件添加到数据表,但当代码运行时,页面中不显示任何内容
- if 语句中的一部分 JavaScript 代码运行,而同一块中的其余代码不执行.我在这里错过了什么
- JS代码运行非常慢
- 阻止其他代码运行,直到 AJAX 请求返回某些内容
- JS代码运行到无限循环
- Javascript游戏代码运行非常慢
- chrome扩展///我的代码运行了不止一次
- 我的代码运行在jsfiddle上,但为什么不能't在本地计算机上
- Javascript parseInt-代码运行4次
- 如何从Visual Studio代码运行我的电子项目
- 检查显示:CANNON不是使用CANNON.js+Webstorm 8.0.1定义的(但代码运行良好)
- 为什么slice()显示错误,但代码运行良好
- 代码运行后字符串发生更改
- JQuery函数代码运行不正常