2

私は 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。私は何を間違っていますか?

4

1 に答える 1

3

readyState大文字の S があります。次のif条件を変更します。

if(xmlhttp.readyState==4 && xmlhttp.status==200) {
于 2012-08-08T20:01:20.387 に答える