Impossible d'utiliser la fonction open avec Ajax ! :'(

ephelya Messages postés 282 Date d'inscription   Statut Membre Dernière intervention   -  
ephelya Messages postés 282 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

Je me mets aujourd'hui à AJAX, et j'ai suivi différents tutos très simples, mais quel que soit le script que j'essaie, apparemment la fonction open ne marche pas.
Voici le script que j'essaie de tester:


<!DOCTYPE html>
<html lang="fr">
<head>
<!--
/**

The Initial Developer of the Original Code is
Matthieu - https://www.programmation-facile.com/
Portions created by the Initial Developer are Copyright (C) 2013
the Initial Developer. All Rights Reserved.

Contributor(s) :

*/
-->
<title>tests</title>
<meta charset="UTF-8">


<style type="text/css">

body{
font-family: Arial;
}

</style>

<script type="text/JavaScript">

function submitForm()
{
var xhr=createXHR();
xhr.open("GET", "ajax-get.txt",true);
xhr.onreadystatechange=function()
{
if(xhr.readyState == 4)
{
document.getElementById("zone").innerHTML= xhr.responseText;
}
};
xhr.send(null);
}
</script>
</head>

<body>

<FORM name="ajax" method="POST" action="">
<input type="BUTTON" value="Soumettre" onClick="submitForm()">
</FORM>
<div id='zone'></div>
</body>
</html>



et mon fichier ajax-get.txt:

Hello world !

Il ne se passe absolument rien....
Et en testant cette fonction :

function submitForm()
{
alert ("bouton cliqué");
var xhr=createXHR();
if (xhr.open("GET", "ajax-get.txt",true)) { alert ("ok");} else { alert ("nok"); }
xhr.onreadystatechange=function()
{
if(xhr.readyState == 4)
{
document.getElementById("zone").innerHTML= xhr.responseText;
}
};
xhr.send(null);
}
j'ai bien une alerte "bouton cliqué", mais rien d'autre...
Et je précise que mon fichier ajax-get.txt est bien sur le serveur puisque file_exists("ajax-get.txt") me retourne bien TRUE

Est-ce que quelqu'un peut m'aider svp?? Si je suis bloquée au B-A-BA, ça va être compliqué d'espérer faire des requêtes mySQL... ;-)

Merci d'avance !

A voir également:

3 réponses

Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Bonjour,

createXHR() n'est pas une fonction javascript de base.
Mets plutôt
xhr=new XMLHttpRequest();


Xavier
0
ephelya Messages postés 282 Date d'inscription   Statut Membre Dernière intervention   2
 
Merci de ton aide!
On progresse, j'ai maintenant bien 2 alertes, mais ça m'affiche "nok" à la deuxième ... :-(
0
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Je ne pense pas que xhr.open renvoie une valeur.
Donc quand tu fais if(xhr.open)...else..., ça va toujours dans le else. Mais ça ne veut pas dire que la page n'est pas appelée correctement.
0
ephelya Messages postés 282 Date d'inscription   Statut Membre Dernière intervention   2
 
Ah d'accord, je pensais que ça renvoyait true/false, non?
Quoi qu'il en soit, ça ne m'affiche rien, donc le fichier n'est soit pas appelé, soit pas lu...
Pour info, j'ai testé un autre script issu d'un autre tuto, et j'ai eu le même souci, est-ce que ça peut venir de ma config d'une façon ou d'une autre (pas le navigateur puisque sur le site du tuto ça fonctionne nickel) ?
0