Javascript字符串比较错误
我使用一段代码检查函数是否返回一个等于另一个字符串的字符串,这段代码有问题。这个问题听起来微不足道,但我似乎无法解决 这是密码,如果你需要更多的密码,一定要对我大喊大叫Javascript字符串比较错误,javascript,ajax,string,comparison,Javascript,Ajax,String,Comparison,我使用一段代码检查函数是否返回一个等于另一个字符串的字符串,这段代码有问题。这个问题听起来微不足道,但我似乎无法解决 这是密码,如果你需要更多的密码,一定要对我大喊大叫 <script> function emptyElement(x){ _(x).innerHTML = ""; } function login(){ var e = _("email").value; var p = _("pa
<script>
function emptyElement(x){
_(x).innerHTML = "";
}
function login(){
var e = _("email").value;
var p = _("password").value;
if(e == "" || p == "") {
_("status").innerHTML = "Fill out all of the form data";
} else{
_("loginbtn").style.display = "none";
_("status").innerHTML ='please wait...';
var ajax = ajaxObj("POST", "index.php");
ajax.onreadystatechange = function() {
if(ajaxReturn(ajax) == true) {
document.write(ajax.responseText); // returns "login_failed" when I try it
if(ajax.responseText == "login_failed"){
_("status").innerHTML = "Login unsuccessful, please try again.";
_("loginbtn").style.display = "block";
} else {
//window.location = "afterlogin.php?u="+ajax.responseText;
}
}
}
ajax.send("e="+e + "&p="+p);
}
}
</script>
还有main.js的代码
function _(x){
return document.getElementById(x);
}
我不想因为原始代码而获得荣誉;它是从develophp.com收集的,只是稍作改动
问题是,正如我所评论的,这一行
ajax.responseText == "login_failed"
不管我怎么做,似乎从来都不是真的。这就是我需要的指导
问候
现在回答这个问题已经太迟了,但有些人可能也有同样的问题
你需要写
ajax.responseText == '"login_failed"';
您是否尝试过
ajax.responseText.indexOf(“登录失败”)>-1
?执行console.log(ajax.responseText)检查它包含的内容。可能有一些空白附加/前置到它。如果是这种情况,请尝试If(ajax.responseText.trim()=='login_failed')……您是否控制index.php?如果出现登录错误,它会打印出什么内容?您是否尝试过ajax.responseText.trim()=“登录失败”?感谢您的快速响应。是的,我负责index.php,是的,我已经尝试了.trim()函数,与以前没有什么不同。问题似乎是上面的javascript将所有登录尝试作为成功登录来处理,即使它们不是。当我尝试此代码时,数据库中甚至没有用户,因此登录必须是错误的。anguyen8,那段代码到底是做什么的?
ajax.responseText == '"login_failed"';