无法比较 javascript 中的字符串
Trouble comparing strings in javascript
字符串从 php 代码返回,比较时总是给出 false,我尝试同时使用 '==' 和 '===' 以及对字符串使用单引号和双引号,但没有运气。我在这里只包含了相关部分,如果您需要更多详细信息,请告诉我。
请帮助我找到解决方案,在此先感谢。
if(LOGINLIMIT <= $count)
{
$select = mysqli_query($conn,"update `wwwusers` set `userstatus` = 'Suspended' where username = '".$username."'");
$stats = 'suspended';
}
else
{
$stats = 'fail';
}
}
$_SESSION['count'] = $count;
echo $stats.','.$count; }
此处进行字符串比较:
$.post("checkuser.php", {username: username, password: password, count: count, textcaptcha: textcaptcha}, function (data) {
alert(data);
var res = data.split(',');
$('.count').val(res[1]);
if (res[0] == 'fail')
{
flag = 1;
$(".clserror").show();
var username = $("#username").val('');
var password = $("#password").val('');
return false;
} else if (res[0] == 'suspended')
{
flag = 0;
$(".clserror2").show();
var username = $("#username").val('');
var password = $("#password").val('');
return false;
}
});
注意:我只是一名编程爱好者,不是专业人士,也不是熟悉行话的人,所以如果有任何错误,我深表歉意。这是我的第一个 post :)
在@heaven 向我们展示了 res[0]
的转义版本之后,它显然有问题:它包含一个 space 和一个换行符,这解释了为什么要与 [=11= 进行比较] 没有 return true
。感谢@georg 考虑转义变量。
字符串从 php 代码返回,比较时总是给出 false,我尝试同时使用 '==' 和 '===' 以及对字符串使用单引号和双引号,但没有运气。我在这里只包含了相关部分,如果您需要更多详细信息,请告诉我。 请帮助我找到解决方案,在此先感谢。
if(LOGINLIMIT <= $count)
{
$select = mysqli_query($conn,"update `wwwusers` set `userstatus` = 'Suspended' where username = '".$username."'");
$stats = 'suspended';
}
else
{
$stats = 'fail';
}
}
$_SESSION['count'] = $count;
echo $stats.','.$count; }
此处进行字符串比较:
$.post("checkuser.php", {username: username, password: password, count: count, textcaptcha: textcaptcha}, function (data) {
alert(data);
var res = data.split(',');
$('.count').val(res[1]);
if (res[0] == 'fail')
{
flag = 1;
$(".clserror").show();
var username = $("#username").val('');
var password = $("#password").val('');
return false;
} else if (res[0] == 'suspended')
{
flag = 0;
$(".clserror2").show();
var username = $("#username").val('');
var password = $("#password").val('');
return false;
}
});
注意:我只是一名编程爱好者,不是专业人士,也不是熟悉行话的人,所以如果有任何错误,我深表歉意。这是我的第一个 post :)
在@heaven 向我们展示了 res[0]
的转义版本之后,它显然有问题:它包含一个 space 和一个换行符,这解释了为什么要与 [=11= 进行比较] 没有 return true
。感谢@georg 考虑转义变量。