[AJAX] Afficher des informations avec AJAX
Bonjour ;)
Je n'arrive pas à afficher des données d'une base de données à l'aide d'AJAX à l'affichage de la page, j'aimerais bien savoir pourquoi cela ne fonctionne pas :) .
Code JavaScript
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
<script type="text/javascript" src="oXHR.js"></script>
<script type="text/javascript">
request.onLoad= function() {
var xhr = getXMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
readData(xhr.responseXML);
document.getElementById("loader").style.display = "none";
} else if (xhr.readyState < 4) {
document.getElementById("loader").style.display = "inline";
}
};
xhr.open("POST", "liste.php", true);
xhr.send(null);
}
function readData(oData) {
var nodesTitre = oData.getElementsByTagName("titre");
var nodesTexte = oData.getElementsByTagName("texte");
var oDiv = document.getElementById("affichage");
var oTitre, oTexte;
oDiv.innerHTML = "";
for (var i=0, c=nodesTitre.length; i<c; i++) {
oTitre = document.createElement("h3");
oTexte = document.createElement("p");
var te = document.createTextNode(nodesTitre[i].nodeValue);
var ti = document.createTextNode(nodesTitre[i].nodeValue);
oTitre.appendChild(te);
oTexte.appendChild(ti);
oDiv.appendChild(titre);
oDiv.appendChild(texte);
}
}
</script> |
Code PHP
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
<?php
header("Content-Type: text/xml");
echo "<?xml version='1.0' encoding='utf-8'?>";
mysql_select_db("","","");
mysql_select_db("");
$query = mysql_query("SELECT * FROM articles ORDER BY id DESC LIMIT 0,3");
while ($back = mysql_fetch_assoc($query)) {
echo "<article>";
echo "<titre>".htmlentities($back['titre'])."</titre>"
"<texte>".htmlentities($back['texte'])."</texte>";
echo "</article>";
}
?> |
Code HTML
Code:
1 2 3
|
<div id="affichage">
</div> |
Je suis preneur de toutes propositions, je vous remercie d'avance.
Bien à vous :)