我正在尝试创建 AJAX 搜索,但遇到了一些困难。这是我的 JS 和表单:
<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>
这是我的 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。将 if
条件更改为:
if(xmlhttp.readyState==4 && xmlhttp.status==200) {
关于php - AJAX 搜索未显示结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11871851/