Problème avec xmlHttp.responseText (JS)
nicl75
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
Alain_42 Messages postés 5361 Date d'inscription Statut Membre Dernière intervention -
Alain_42 Messages postés 5361 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un petit problème avec le javascript.
Mon but est de valider un formulaire en javascript, j'arrive parfaitement à passer les valeurs des champs au fichier php qui va les inséré dans la bdd mais je n'arrive pas a récupérer la réponse de ce fichier php.
J'ai beaucoup surfé mais je n'ai as encore trouvé mon erreur, aidez moi svp.
Voici mon code JS :
et mon fichier setdata.php :
j'ai un petit problème avec le javascript.
Mon but est de valider un formulaire en javascript, j'arrive parfaitement à passer les valeurs des champs au fichier php qui va les inséré dans la bdd mais je n'arrive pas a récupérer la réponse de ce fichier php.
J'ai beaucoup surfé mais je n'ai as encore trouvé mon erreur, aidez moi svp.
Voici mon code JS :
if(xmlHttp) { xmlHttp.open('POST', 'setdata.php', true); xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xmlHttp.send('nom='+document.forms[1].elements[3].value+'&prenom='+document.forms[1].elements[4].value+'&adresse='+document.forms[1].elements[5].value+'&codep='+document.forms[1].elements[6].value+'&ville='+document.forms[1].elements[7].value+'&mail='+document.forms[1].elements[8].value+'&datedn='+alldatedn+'&login='+document.forms[1].elements[13].value+'&password='+document.forms[1].elements[14].value+'&sexe='+sexeok); xmlHttp.onreadystatechange = function () { if (xmlHttp.readyState == 4) alert("Réponse = "+xmlHttp.responseText); }; }
et mon fichier setdata.php :
<?php header("Expires: Sat, 05 Nov 2005 00:00:00 GMT"); header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0", false); header("Content-Type: text/html; charset=UTF-8"); header("Pragma: no-cache"); echo "Insertion ok"; ?>
3 réponses
Bonsoir,
il faut faire un test supplémentaire pour verifie que la réponse est bien arrivée complétement:
pourquoi l'as tu nommée xmlHttp alors que tu veux une réponse en mode texte ?
il faut faire un test supplémentaire pour verifie que la réponse est bien arrivée complétement:
if (xmlHttp.readyState == 4) { if (xmlHttp.status == 200) { //la suite du traitement de la réponse
pourquoi l'as tu nommée xmlHttp alors que tu veux une réponse en mode texte ?
Merci je vais essayé ta solution.
Je l'ai nommé xmlHttp car je pense le ré-utiliser plus tard en traitant du xml.
Je l'ai nommé xmlHttp car je pense le ré-utiliser plus tard en traitant du xml.
Voici l'erreur que je reçois après la modification que tu m'as conseillé :
Erreur : [Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIXMLHttpRequest.status]" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame :: http://localhost/Web/php/inscription.php? :: anonymous :: line 64" data: no]
Je vais chercher la solution mais si quelqu'un a une idée, je ne suis pas contre...
Erreur : [Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIXMLHttpRequest.status]" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame :: http://localhost/Web/php/inscription.php? :: anonymous :: line 64" data: no]
iif(xmlHttp) { xmlHttp.open('POST', 'setdata.php', true); xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xmlHttp.send('nom='+document.forms[1].elements[3].value+'&prenom='+document.forms[1].elements[4].value+'&adresse='+document.forms[1].elements[5].value+'&codep='+document.forms[1].elements[6].value+'&ville='+document.forms[1].elements[7].value+'&mail='+document.forms[1].elements[8].value+'&datedn='+alldatedn+'&login='+document.forms[1].elements[13].value+'&password='+document.forms[1].elements[14].value+'&sexe='+sexeok); xmlHttp.onreadystatechange = function () { if (xmlHttp.readyState == 4) { if (xmlHttp.status == 200) alert("Marcel2 = "+xmlHttp.responseText); } }; }
Je vais chercher la solution mais si quelqu'un a une idée, je ne suis pas contre...