Php 我在textfield上输入一些数据后使用ajax显示输出,它没有显示正确的输出吗?

Php 我在textfield上输入一些数据后使用ajax显示输出,它没有显示正确的输出吗?,php,ajax,Php,Ajax,这里是html程序。。。在这里,我使用ajax在textfield上输入一些数据后显示输出,当food=''时,它只给出第一个响应,之后它不会显示我们没有的另一个响应。或者我们确实有 <!DOCTYPE> <html> <head> <script type="text/javascript" src="foodstore.js"></script> </head> <body onload="process(

这里是html程序。。。在这里,我使用ajax在textfield上输入一些数据后显示输出,当food=''时,它只给出第一个响应,之后它不会显示我们没有的另一个响应。或者我们确实有

<!DOCTYPE>
<html>
<head>
    <script type="text/javascript" src="foodstore.js"></script>
</head>
<body onload="process()">
    <h1>choose your favorite food</h1>
    <input type="text"  id="inputuser">
    <div id="usererror"></div>
</body>
</html>

选择你最喜欢的食物
这里是foodstore.php

<?php
header('Content-Type: text/xml');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
echo '<response>';
$food=$_GET['food']; 
$foodArray=array('shahi paneer','matar paneer','matar alu','raita');
if(in_array($food,$foodArray))
  {
   echo 'we  do have '.$food.'!'; 
   }
elseif($food=='')
  { 
    echo 'please enter any dish';
      }
 else
 {
   echo 'we dont have '.$food.'!';
 }
 echo '</response>';

 ?>
<?php
$food=$_GET['food']; 
$foodArray=array('shahi paneer','matar paneer','matar alu','raita');
if(in_array($food,$foodArray)) {
   echo 'we  do have '.$food.'!'; 
}
elseif($food=='') { 
   echo 'please enter any dish';
} else  {
   echo 'we dont have '.$food.'!';
}

?>

这里是foodstore.js

var xmlHttp=createXmlHttpRequestObject();
function createXmlHttpRequestObject()
{
var xmlHttp;
  if (window.XMLHttpRequest)
   {
     xmlHttp=new XMLHttpRequest();
   }
  else
   {
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
   }

   if(!xmlHttp)
      alert("cant create that object");
   else
       return xmlHttp;
  }
  function process()
    {
    if (xmlHttp.readyState==0 ||xmlHttp.readystate==4)
     { 
      dish=encodeURIComponent(document.getElementById("inputuser").value);
      xmlHttp.open("GET","foodstore.php?food="+dish, true);
      xmlHttp.onreadystatechange=handleServerResponse;
      xmlHttp.send(null);
     }
    else{
        setTimeout('process()',1000);
        }
 }
    function handleServerResponse(){
       if(xmlHttp.readyState==4){
           if(xmlHttp.status==200){
          xmlResponse=xmlHttp.responseXML;
          xmlDocumentElement=xmlResponse.documentElement;
          message=xmlDocumentElement.firstChild.data;
           document.getElementById("usererror").innerHTML='<span style     ="color:red">'+message+'</span>';
   setTimeout('process()',1000);
    }
    else
   {
    alert('something went wrong');
      }
     }
    }
var xmlHttp=createXmlHttpRequestObject();
函数createXmlHttpRequestObject()
{
var-xmlHttp;
if(window.XMLHttpRequest)
{
xmlHttp=新的XMLHttpRequest();
}
其他的
{
xmlHttp=新的ActiveXObject(“Microsoft.xmlHttp”);
}
如果(!xmlHttp)
警报(“无法创建该对象”);
其他的
返回xmlHttp;
}
函数过程()
{
if(xmlHttp.readyState==0 | | xmlHttp.readyState==4)
{ 
dish=encodeURIComponent(document.getElementById(“inputuser”).value);
open(“GET”,“foodstore.php?food=“+dish,true”);
onreadystatechange=handleServerResponse;
xmlHttp.send(空);
}
否则{
setTimeout('process()',1000);
}
}
函数handleServerResponse(){
if(xmlHttp.readyState==4){
if(xmlHttp.status==200){
xmlResponse=xmlHttp.responseXML;
xmlDocumentElement=xmlResponse.documentElement;
message=xmlDocumentElement.firstChild.data;
document.getElementById(“usererror”).innerHTML=''+消息+'';
setTimeout('process()',1000);
}
其他的
{
警惕(“出了什么事”);
}
}
}
方法应该是

  • 为文本框编写onchange事件(onchange of textbox content调用process()函数)

                or 
    
  • 添加按钮以触发该功能。=>用户进入盘子并点击按钮

  • 方法一(使用jQuery)

    
    $(document).on(“keyup”、“#inputuser”,function()){
    var dish=$(this.val();
    $.ajax({
    键入:“获取”,
    url:'foodstore.php',
    数据:{食物:盘子},
    成功:功能(数据){警报(数据);
    $('#usererror').html(数据);
    }
    });
    });
    选择你最喜欢的食物
    
    foodstore.php

    <?php
    header('Content-Type: text/xml');
    echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
    echo '<response>';
    $food=$_GET['food']; 
    $foodArray=array('shahi paneer','matar paneer','matar alu','raita');
    if(in_array($food,$foodArray))
      {
       echo 'we  do have '.$food.'!'; 
       }
    elseif($food=='')
      { 
        echo 'please enter any dish';
          }
     else
     {
       echo 'we dont have '.$food.'!';
     }
     echo '</response>';
    
     ?>
    
    <?php
    $food=$_GET['food']; 
    $foodArray=array('shahi paneer','matar paneer','matar alu','raita');
    if(in_array($food,$foodArray)) {
       echo 'we  do have '.$food.'!'; 
    }
    elseif($food=='') { 
       echo 'please enter any dish';
    } else  {
       echo 'we dont have '.$food.'!';
    }
    
    ?>
    

    onBlur
    上更改您的
    onload
    ,并从onload中删除并放入
    输入中:

    <input type="text"  id="inputuser" onblur="process()">
    
    
    
    array('shahi paneer'、'matar paneer'、'matar alu'、'raita')感觉饥饿:)