php - AJAX 搜索未显示结果

标签 php ajax modx-evolution

我正在尝试创建 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/

相关文章:

php - 使用 php 读取 csv 文件的最简单方法,然后选择一个特定值

ajax - ajax POST 上的 IE 10 HTTP 401 错误

jquery - 为什么这个 jQuery ajax 调用会丢失 'data' 设置?

php - 是否可以从 linux 服务器的 php 中调用 C 库中的函数?

php - 给定值的索引替换多维数组中的值

PHP: strpos() 找不到 '“'

javascript - 通过axios post调用传递参数

javascript - 恶意编码的 JavaScript - 它有什么作用?

css - Modx Evo : Cannot style table within a TV