Php AJAX搜索不显示结果
我正在尝试创建AJAX搜索,但遇到了一些困难。这是我的JS和表单:Php AJAX搜索不显示结果,php,ajax,modx-evolution,Php,Ajax,Modx Evolution,我正在尝试创建AJAX搜索,但遇到了一些困难。这是我的JS和表单: <script type="text/javascript">// function prodSearch(request) { if (request == "") { document.getElementById("searchResults").innerHtml=""; return; } if (window.XMLHttpRequest)
<script type="text/javascript">//
function prodSearch(request) {
if (request == "") {
document.getElementById("searchResults").innerHtml="";
return;
}
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
}
xmlhttp.onreadystatechange = function() {
if(xmlhttp.readystate==4 && xmlhttp.status==200) {
document.getElementById("searchResults").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","/ps.php?country="+request,true);
xmlhttp.send();
}
</script>
<form>
<select name="countries" onchange="prodSearch(this.value)">
<option>Select a country:</option> ...
<div id="searchResults">
</div>
//
功能prodSearch(请求){
如果(请求==“”){
document.getElementById(“searchResults”).innerHtml=“”;
返回;
}
if(window.XMLHttpRequest){
xmlhttp=新的XMLHttpRequest();
}
xmlhttp.onreadystatechange=函数(){
if(xmlhttp.readystate==4&&xmlhttp.status==200){
document.getElementById(“searchResults”).innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open(“GET”,”/ps.php?country=“+request,true);
xmlhttp.send();
}
选择一个国家:。。。
下面是我的php:
<?php
/* Get data from form */
$country = $_GET["country"];
/* Build query */
$result = "SELECT .... ";
while( $row = $modx->db->getRow( $result ) ) {
echo "<pre>";
print_r($row);
echo "</pre>";
}
?>
我对数据库的查询非常有效,我可以在Firebug控制台中看到ps.php正在返回结果。然而,我似乎无法让它用结果填充
searchResults div
。我做错了什么?readyState
有大写字母S。如果您的条件为:
您能否警报(xmlhttp.responseText)
?它是否向预期结果发出警报?我将警报(xmlhttp.responseText)
放在文档之前。getElementById…responseText
但我根本没有收到警报。是否实际调用了xmlhttp.onreadystatechange
?你能在这一行之前提醒xmlhttp.readystate
吗:if(xmlhttp.readystate==4&&xmlhttp.status==200){
?我这样做了,警报出现了“undefined”。噢……就是这样。谢谢你的帮助!
if(xmlhttp.readyState==4 && xmlhttp.status==200) {