나는 AJAX 검색을 만들고 약간의 어려움을 겪고 있습니다.AJAX 검색 결과가 표시되지 않습니다.
<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는 다음과 같습니다 : 여기 내 JS 및 폼의 데이터베이스에
<?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>";
}
?>
내 쿼리가 완벽하게 작동을하고, 나는 ps.php 결과를 반환 방화범 콘솔에서 볼 수 있습니다. 그러나 실제로 결과를 searchResults div
으로 채우지 못하는 것 같습니다. 내가 도대체 뭘 잘못하고있는 겁니까?
if(xmlhttp.readyState==4 && xmlhttp.status==200) {
할 수 있습니다 '경고 (xmlhttp.responseText)': – Tchoupi
'document.getElementById ... responseText' 앞에'alert (xmlhttp.responseText)'를 놓았고 경고를받지 못했습니다. – Vecta
'xmlhttp.onreadystatechange'는 실제로 호출 되었습니까? 이 줄 앞에'xmlhttp.readystate'를 경고 할 수 있습니까?'(xmlhttp.readystate == 4 && xmlhttp.status == 200) {'? – Tchoupi