Je débute avec AJAX, et j'aimerais faire la chose suivante:
- récupérer des données dans une base lorsqu'on clique sur un lien.
- afficher ces données sur le navigateur.
J'ai créé deux fichiers:
- ajax.html qui affiche le lien à cliquer et lance la requête.
- sql.php qui récupère les données dans la base et les affiche.
Malheureusement ça ne marche pas, je reste bloquée au readyState=1...
Je sais qu'il manque des lignes pour le cas ou navigateur=IE, mais ça sera pour plus tard.
Si quelqu'un peut m'éclairer? Merci d'avance!
ajax.html:
<html>
<head>
<title>My first XMLHttpRequest</title>
<script language="JavaScript">
function ajax() {
req = new XMLHttpRequest();
req.onreadystatechange = testRep;
req.open("GET", "sql.php", true);
req.send(null);
}
function testRep() {
if (req.readyState == 0) {
document.write("0");
}
if (req.readyState == 1) {
document.write("1");
}
if (req.readyState == 2) {
document.write("2");
}
if (req.readyState == 3) {
document.write("3");
}
if (req.readyState == 4) {
if (req.status ==200) {
document.write (req.responseText);
}
else {
alert("Problem: " + req.statusText);
}
}
}
</script>
</head>
<body>
<a href="javascript:ajax();">Click me</a>
</body>
</html>
sql.php:
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("test");
$reponse = mysql_query("SELECT * FROM membres WHERE id='2'");
$donnees = mysql_fetch_array($reponse);
echo "<script language='JavaScript'>document.write ('".$donnees['nom']."');</script>";
mysql_close();
?>

