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

Fermé
ephelya Messages postés 282 Date d'inscription mercredi 28 septembre 2011 Statut Membre Dernière intervention 20 juin 2023 - 14 août 2014 à 13:44
ephelya Messages postés 282 Date d'inscription mercredi 28 septembre 2011 Statut Membre Dernière intervention 20 juin 2023 - 14 août 2014 à 19:11
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 jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
14 août 2014 à 13:59
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 mercredi 28 septembre 2011 Statut Membre Dernière intervention 20 juin 2023 2
14 août 2014 à 14:05
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 jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
14 août 2014 à 14:56
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 mercredi 28 septembre 2011 Statut Membre Dernière intervention 20 juin 2023 2
14 août 2014 à 19:11
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