Пробую делать запросы к базе данных через ajax + php + msql
в php файле результат запроса выдает три города (как и положено).
Содержимое файла ajax_res.php
<?php
error_reporting(E_ALL);
$mysqli= mysqli_connect("localhost", "root", "2230200") or die("Error " . mysqli_error($mysqli));
mysqli_select_db($mysqli,"test2");
if (!$mysqli) echo mysqli_connect_error();
$query = "SELECT City FROM city";
$res = mysqli_query($mysqli, $query);
while($row = mysqli_fetch_array($res)) {
echo "<span>", $row["City"], "</span><br/>";
}
?>
Но мой ajax-говнокод выдает в ответе результат mysql-запроса дважды:
<div id = "answer">
Здесь должен быть ответ:
<br/>
</div>
<input type = "button" value = "AJAX!!!" id = "get">
<script type = "text/javascript">
window.onload = function () {
document.getElementById("get").onclick = function(){ajaxRequest(); }
};
function ajax() {
if (window.XMLHttpRequest) req = new XMLHttpRequest(); // normal browser
else if (window.ActiveXObject) { // IE
try {
req = new ActiveXObject('Msxml2.XMLHTTP'); // IE разных версий
} catch (e){} // может создавать
try { // объект по разному
req = new ActiveXObject('Microsoft.XMLHTTP');
} catch (e){}
}
return req;
}
function ajaxRequest(){
var request = ajax();
request.open("POST", "ajax_res.php");
request.setRequestHeader("Content-Type", "text/plain;" )
request.send();
request.onreadystatechange = function () {
//document.getElementById("answer").appendChild(document.createTextNode(request.responseText));
document.getElementById("answer").innerHTML+= (request.responseText);
}
}
</script>