Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript字符串比较错误_Javascript_Ajax_String_Comparison - Fatal编程技术网

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"';