通过PHP调用xmlhttp.onreadystatechange = function()

时间:2012-12-11 22:40:54

标签: php xmlhttprequest onreadystatechange

所以,问题在于:

我正在尝试处理正在传递ID字段的PHP文件中的一些编辑。 PHP文件成功构建HTML页面并显示它,但部分嵌入式JavaScript调用无效。

如果我注释掉了这个电话     echo'xmlhttp.onreadystatechange = function(){'; 我收到所有的ALerts。

只要我取消注释xmlhttp.onreadystatechange = function()块,就没有任何作用。

任何帮助将不胜感激 - 下面是完整的代码块:

echo '<script type="text/javascript">';
echo 'function populateRoomDropDown(building)';
echo '{';
echo '  alert("Started...");';
echo '  if(window.XMLHttpRequest){';
echo '      xmlhttp = new XMLHttpRequest();';
echo '      alert("Building ID: "+building);';
echo '  }';
echo '  else{';
echo '      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");';
echo '      alert("IE Browser");';
echo '  }';
echo '  xmlhttp.onreadystatechange=function(){';
echo '      alert("Inside onready...()");';
echo '          if (xmlhttp.readyState==4 && xmlhttp.status==200){';
echo '          alert("Inside onready...()");';
echo '          document.getElementById("displayRooms").innerHTML=xmlhttp.responseText;';
echo '          }';
echo '  }';
echo '  alert("Near end...");';
echo '  xmlhttp.open("GET","../db_queries/getRoomsDropDown.php?buildingID="+building,true);';
echo '  xmlhttp.send();';
echo '  alert("End...");';
echo '}';
echo '</script>';

1 个答案:

答案 0 :(得分:0)

尝试:

echo '<script type="text/javascript">';
echo 'function populateRoomDropDown(building)';
echo '{';
echo '  alert("Started...");';
echo '  if(window.XMLHttpRequest){';
echo '      xmlhttp = new XMLHttpRequest();';
echo '      alert("Building ID: "+building);';
echo '  }';
echo '  else{';
echo '      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");';
echo '      alert("IE Browser");';
echo '  }';
echo '  xmlhttp.open("GET","../db_queries/getRoomsDropDown.php?buildingID="+building,true);';
echo '  xmlhttp.onreadystatechange=function(){';
echo '      alert("Inside onready...()");';
echo '          if (xmlhttp.readyState==4 && xmlhttp.status==200){';
echo '          alert("Inside onready...()");';
echo '          document.getElementById("displayRooms").innerHTML=xmlhttp.responseText;';
echo '          }';
echo '  }';
echo '  alert("Near end...");';
echo '  xmlhttp.send();';
echo '  alert("End...");';
echo '}';
echo '</script>';

我将xmlhttp.open("GET","../db_queries/getRoomsDropDown.php?buildingID="+building,true);移到了xmlhttp.onreadystatechange=function()

之上