如果else语句总是返回相同的值
我新的PHP和AJAX如果else语句总是返回相同的值
阿贾克斯返回数据==“OK”或数据==“NO”依赖于电子邮件,但如果其他块返回始终相同的值。它始终打印最后一个块,如“电子邮件可用!”我找不到这个错误。
$.ajax({
type: 'post',
url: 'check_email.php',
data: {email:email,},
success: callback});}
function callback(data){
email_error = false;
$("#email_error").css("display","block");
if(data =="OK"){
$("#email_error").html("Email was already used!");
$("#email_error").css("color","#990000");
$("#email_error").show();
email_error = true;
}else{
$("#email_error").html("Email is available!");
$("#email_error").css("color","#F1F0D1");
$("#email_error").show();
email_error = false;
}
}
我在link得到了一个简单的解决方案只有我改变了"OK"
与"\r\nOK"
。
$.ajax({
type: 'post',
url: 'check_email.php',
data: {email:email,},
success: callback});}
function callback(data){
email_error = false;
$("#email_error").css("display","block");
if(data =="\r\nOK"){
$("#email_error").html("Email was already used!");
$("#email_error").css("color","#990000");
$("#email_error").show();
email_error = true;
}else{
$("#email_error").html("Email is available!");
$("#email_error").css("color","#F1F0D1");
$("#email_error").show();
email_error = false;
}
}
我回滚了您的编辑,删除了您找到信息的链接。将信誉归功于你找到什么东西是Stack Overflow的一部分。不这样做,根据具体情况,会导致各种负面的事情发生。如果你真诚地告诉你所用的解决方案来自哪里,人们会更加尊重你。 – Makyen
使用try ===代替==比较字符串
应该这样做,但在这种情况下应该没关系。 –
AJAX
var email = "[email protected]";
$.ajax(
{
type: 'post',
url: 'check_email.php',
data:
{
email: email,
},
success: callback
});
function callback(data)
{
email_error = false;
$("#email_error").css("display", "block");
if (data == "OK")
{
$("#email_error").html("Email was already used!");
$("#email_error").css("color", "#990000");
$("#email_error").show();
email_error = true;
}
else if(data =="NO")
{
$("#email_error").html("Email is available!");
$("#email_error").css("color", "#F1F0D1");
$("#email_error").show();
email_error = false;
}
}
HTML
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="check_email.js"></script>
<title></title>
</head>
<body>
<div id="email_error">
</body>
</html>
PHP
<?php
echo "NO";
?>
这是工作。 – DragonFire
有两件事是一个有语法错误,有时也完全给所有条件(甚至其他条件)有帮助...(它不应该,但它确实) – DragonFire
有时会在关闭标签后留下一个空格吗?>也会导致此问题 – DragonFire
您是否试过使用'console.log(data)'来检查值? – keksnicoh
谢谢,是的,我检查它返回OK或NO根据PHP返回value.but在if-else语句它总是打印最后一个块。 – fevzi
我们需要查看您的check_email.php脚本。 – Lynne