Javascript AJAX PHP if语句不起作用

Javascript AJAX PHP if statement not working

本文关键字:语句 不起作用 if PHP AJAX Javascript      更新时间:2023-09-26

我已经解决这个问题两个多小时了,可以找到任何合理的解决方案。如果我要去掉这个箭头标记的If语句。alert()将工作。当我刚刚设置if(true)时,它将被触发,但它不适用于以下条件。我对这些语言不是很在行。只需要完成学校项目。我确信这是一个小东西,但猫会自己想出来的。

   Java Script Function
   function checkLogin(str) {

       if (str.length == 0) {
           return;
       } else {
           var xmlhttp = new XMLHttpRequest();
           xmlhttp.onreadystatechange = function() {
               if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                   var ret = xmlhttp.responseText;
           ---->    if (ret == "match"){
                        alert("Login name already exists !");
                    }
                }
           }
           xmlhttp.open("GET", "loginCheck.php?q=" + str, true);
           xmlhttp.send();
       }
   } 
   PHP Code
   /*
   <?php
       include 'db.inc.php';
       date_default_timezone_set("UTC");
       $login = $_REQUEST["q"];

       $sql = "SELECT * FROM staffMembers";
        if (!($result = mysqli_query($con,$sql))){
           die ('An Error ->' . mysqli_error() );
       }

           while ($row = mysqli_fetch_array($result)){
               $firstName = $row['nameLogin'];
               $ret="true";
               if($firstName == $login){
                   $ret = "match";
                   break;
               }
           }
       mysqli_close($con);  

       echo $ret;
   ?>
   */

您的PHP代码可能在match周围输出空白。试试这个

if (ret.trim() == "match"){