如果它在数据库中发现值发送/回显结果值,但确实找到了发回/回显'not_found',我试图通过它返回一个值。

当我尝试在以下脚本中进行比较时,if总是放在里面,而从不转到其他地方。

我也尝试过NULL,而FALSE代替not_found不起作用。

function showHint(str) {
    var xmlhttp;
    var url=  "check_album.php?q="+str;
    document.getElementById("txtHint1").innerHTML=(url);
    if (window.XMLHttpRequest) {
        // code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp=new XMLHttpRequest();
    } else {
        // code for IE6, IE5
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState==4 && xmlhttp.status==200) {
            if(xmlhttp.readyState.responseText !='not_found') {
                document.getElementById("txtHint2").innerHTML=xmlhttp.responseText;
            } else {
                document.getElementById("txtHint3").innerHTML='no result';}
            }
        }
        xmlhttp.open("GET",url,true);
        xmlhttp.send();
    }
}


这是check_album.php代码,它将结果发送回去

    require_once('../php/classes/class.add_album.php');
    if ($_SERVER["REQUEST_METHOD"] == "GET") {
       $album_name = $_GET["q"];

      //make new object
      $objfile = new add_album();

      //call object method with post method value we got and save result in result
      $file_found=$objfile->find_album($album_name);

      if ($file_found)echo $file_found;
      else         echo 'not_found';
     }

最佳答案

尝试这个。

 if(xmlhttp.responseText !='not_found' ){
        document.getElementById("txtHint2").innerHTML=xmlhttp.responseText;
  } else
  {
        document.getElementById("txtHint3").innerHTML='no result';
  }

关于javascript - 如何在没有jQuery的情况下将Ajax响应文本与某些字符串进行比较,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24031420/

10-12 12:39