Probleme resolu![]()
Probleme resolu![]()
Salut.
Il y a plusieurs points qui ne vont pas dans ta façon de procéder.
1) Notion de requête asynchrone.
Lancer une requête asynchrone implique que la fonction va continuer son exécution sans attendre la réponse du serveur. Donc lorsque la fonction termine son exécution normale, le responseText n'existe pas encore, tu ne peux donc pas l'utiliser.
2) return et fonction anonyme.
Une instruction return stoppe l'exécution de la fonction et renvoie le résultat demandé à la fonction appelante.
Or, quand tu fais :
tu crées une fonction anonyme, c'est donc cette fonction qui stoppera son exécution en rencontrant un return et qui renverra son résultat vers la fonction appelante, dans ton cas, send_ajax mais du coup, celle-ci ne renvoie rien puisqu'elle ne contient pas de return.
Code : Sélectionner tout - Visualiser dans une fenêtre à part xhr.onreadystatechange = function()
3) return et callback.
Dans une fonction de callback en mode asynchrone, un return renvoie donc un résultat à la fonction appelante. Or celle-ci a déjà terminé son exécution, donc le return renvoie au final son résultat dans le vide.
A l'inverse, si tu fais le return dans la fonction send_ajax, là c'est le résultat qui n'existe pas encore
En fait, il faut que tu revoies entièrement le fonctionnement de ton script car le callback doit prendre en charge et effectuer l'ensemble des traitements attendus avec le responseText.
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum
Salut !
Bon deja pour la fonction contenu,la voici:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <script type="text/javascript"> // Fonctions propre a cette page function contenu() { var pseudo = (document.getElementById("pseudo").value); var mdp = (document.getElementById("mdp").value); var contenu = "pseudo=" + pseudo + "&mdp=" + mdp; return contenu } </script>
J'ai compris d'ou venais mon probleme grace a votre explications,cependant je ne vois pas comment je vais pouvoir d'un coté recupéré la reponse de la page profil.php et de l'autre connexion.php pour avoir ainsi mes reponses stockées dans xhr.reponseText,tout en sachant que pour prelever apres les données,bonjour la galere
Vous auriez pas une solution qui me permettrais de traiter les 2 pages![]()
Je pense que si j'arrive pas a resoudre mon probleme c'est due a xhr.reponseText car celui ci recupere des données non structuré et donc pour moi qui souhaite recupéré d'une part la reponse de profil.php et de l'autre part la reponse de la page connexion.php ca n'est donc pas judicieux d'utiliser xhr.reponseText ?
Pensez vous que je dois utiliser xhr.reponseXML![]()
Partager