Premiers pas avec xmlhttprequest. Aie..
Je souhaite guider l'utilisateur à la saisie d'un champ en lui proposant une liste de mots commençant par les lettres qu'il a déjà tapées, tirés d'une base sql.
index.html :
testajaks.js
et enfin testajaks.php :
Or dès le lancement de la page index.html j'ai une erreur : "Problème d'obtention des données".
D'après le code javascript, cela signifierait que le readystate de l'objet xmlhttprequest est bien à 4 mais que son status n'est jamais à 200.
Je travaille en local (linux & firefox)
Merci de votre aide et bonne journée à tout le monde !
Kristen
Modifié par kristen (02 Feb 2011 - 06:22)
Je souhaite guider l'utilisateur à la saisie d'un champ en lui proposant une liste de mots commençant par les lettres qu'il a déjà tapées, tirés d'une base sql.
index.html :
a écrit :
<head>
...
<script type="text/javascript" src="testajax.js"></script>
</head>
<body onload='process()'>
Kinnigoù :
<input type="text" id="myName" />
<div id="MyDivElement" />
</body>
</html>
testajaks.js
a écrit :
...
function process()
{
// Continuer uniquement si l'objet xmlHttp est valide.
if (xmlHttp)
{
try
{
xmlHttp.open("GET", "testajax.php", true);
xmlHttp.onreadystatechange = handleRequestStateChange;
xmlHttp.send(null);
}
catch (e)
{
alert("Connexion au serveur impossible :\n" + e.toString());
}
}
}
function handleRequestStateChange()
{
if (xmlHttp.readyState == 4)
{
if (xmlHttp.status == 200 || xmlHttp.status == 304)
{
try
{
handleServerResponse();
}
catch(e)
{
alert("Erreur de lecture de la réponse : " + e.toString());
}
}
else
{
alert("Problème d'obtention des données :\n" + xmlHttp.statusText);
}
}
}
function handleServerResponse()
{
var xmlResponse = xmlHttp.responseXML;
xmlRoot = xmlResponse.documentElement;
kinnigArray = xmlRoot.getElementsByTagName("kinnig");
var html = "";
for (var i=0; i<kinnigArray.length; i++)
html += kinnigArray.item(i).firstChild.data + "<br/>";
myDiv = document.getElementById("myDivElement");
myDiv.innerHTML = "<p>Le serveur a répondu : </p>" + html;
}
et enfin testajaks.php :
a écrit :
<?php
header('Content-Type: text/xml');
include ('connect.inc.php');
$dom = new DOMDocument();
$respont = $dom->createElement('respont');
$dom->appendChild($respont);
$name = $_GET['name'];
$kinnigou = mysql_query("SELECT poz FROM ajaks WHERE poz LIKE '".$name."%"."' LIMIT 15");
while ($linenn = mysql_fetch-array($kinnigou))
{
$kinnig = $dom->createElement('kinnig');
$kinnigText = $dom->createTextNode("$linenn");
$kinnig->appendChild($kinnigText);
$respont->appendChild($kinnig);
}
$xmlString = $dom->saveXML();
echo $xmlString;
mysql_close();
?>
Or dès le lancement de la page index.html j'ai une erreur : "Problème d'obtention des données".
D'après le code javascript, cela signifierait que le readystate de l'objet xmlhttprequest est bien à 4 mais que son status n'est jamais à 200.
Je travaille en local (linux & firefox)
Merci de votre aide et bonne journée à tout le monde !
Kristen
Modifié par kristen (02 Feb 2011 - 06:22)