Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Ajax] warning ou pas warning

cour de Nesquik69 et Thunderseb

Sujet résolu
    22 décembre 2009 à 14:12:04

    Bonjour,

    je viens de me mettre à l'Ajax et j'ai une petite question.

    Je suis le tutoriel de Nesquik69 et Thunderseb et enfaite je n'arrive pas à comprendre comment ils font pour pas avoir de popup warning qui affiche ce que renvoie ma page PHP.

    Pour faire simple pouvez-vous m'indiquez la façon pour renvoyer des informations à partir de la page appelée par le Javascript sans avoir une fenêtre qui s'ouvre ?

    Peut être qu'ils l'expliquent mais j'ai dû le rater :lol:
    Merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter
      22 décembre 2009 à 14:32:32

      J'ai pas vraiment compris ce que tu cherches là.. précises s'teuplait.
      • Partager sur Facebook
      • Partager sur Twitter
        22 décembre 2009 à 15:09:34

        Bonjour Tiller
        :euh: je dois consulter un professeur, deux fois que tu me dit que tu comprends pas ce que j'écris...

        Soit, je reformule: (si je pose des questions pas très compréhensibles, c'est que j'ai pas tous compris sinon je les poserais pas ^^ )

        A ce que je sais on a :
        • 1- Une page php
        • 2- Une fonction js qui appel une page php
        • 3- la page php appelé par la fonction js


        Ma question :
        Comment qu'on fait pour renvoyer des informations de 3 à 2 ?
        Si on fait un echo ou un printf, on a une fenêtre qui s'ouvre.
        Suis-je obligé de passer par des variables de session ?? :euh:

        merci, en espérant que vous pourrez m'éclairer.
        • Partager sur Facebook
        • Partager sur Twitter
          22 décembre 2009 à 15:24:40

          Le XHR appelle la page comme si tu l'avais appelée avec ton navigateur web et le xhr.responseText contient donc le résultat de l'ensemble des fonction qui envoient du contenu au navigateur (ou le fichier si c'est c'est un fichier statique).
          Donc oui, echo renvoit des trucs qui seront récupérés par le responseText.
          • Partager sur Facebook
          • Partager sur Twitter
            22 décembre 2009 à 15:25:02

            C'est ça que je ne comprend pas, de quelle fenetre tu parles ? une alert ?
            • Partager sur Facebook
            • Partager sur Twitter
              22 décembre 2009 à 15:37:35

              Ahh, :euh:
              Ben j'appelle une page php qui se connecte à une base de données et qui suivant le résultat obtenu avec la requête dois me renvoyer oui ou non.

              mais avec un echo "oui"; j'ai une popup qui s'ouvre et qui affiche mon "oui" ^^ d'où ma question de comment on fait pour ne pas avoir cette popup.
              • Partager sur Facebook
              • Partager sur Twitter
                22 décembre 2009 à 17:07:43

                T'y connais rien en js je suppose ?

                Car ton code tu dois avoir alert(xhr.responseText); Tu vires l'alert et ça dira plus rien.
                • Partager sur Facebook
                • Partager sur Twitter
                  22 décembre 2009 à 19:15:16

                  Les codes sur le cours d'XMLHttpRequest sont effectivement bourrés d'alert() donc ça vient probablement de ça.

                  Honnêtement, Pinkfloyd, je ne sais même pas comment tu fais pour suivre ce cours si en fin de compte tu ne connais rien au JS (la fonction alert() c'est LA base quand même). Je te conseille de consolider tes bases dans ce langage avant de te lancer dans l'Ajax.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    22 décembre 2009 à 23:34:23

                    Citation : pinkfloyd

                    A ce que je sais on a :

                    • 1- Une page php
                    • 2- Une fonction js qui appel une page php
                    • 3- la page php appelé par la fonction js


                    On aurait plutôt:
                    • Une page php
                    • Une fonction qui appelle la page php


                    Car la page php est la page appelé !
                    De plus l'ajax n'use pas forcément de php ou autre language Serveur !
                    </span>
                    • Partager sur Facebook
                    • Partager sur Twitter
                      22 décembre 2009 à 23:40:56

                      Ce qu'il sous entendait par là, c'est :

                      - La page ou il y a la fonction JS
                      - La fonction JS
                      - La page appelé
                      • Partager sur Facebook
                      • Partager sur Twitter
                        23 décembre 2009 à 9:29:46

                        Heu, ouai j'avoue que je suis pas un bac+5 en js même je vous accorde le faite que je suis pas une flèche tout court.

                        Mais en faite j'ai pas d'alert mais plutôt un :
                        function Tester(pTypeAction, pIDAction, pIDEtat, pCommentaire)
                        {
                        	var xhr = getXMLHttpRequest();
                        	
                        	xhr.onreadystatechange = function()
                        	{
                        		if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0))
                        		{
                        			Traiter(xhr.responseText, pTypeAction, pIDAction, pIDEtat, pCommentaire);
                        		}
                        	};
                        	
                            xhr.open("POST", "Ajax_TesterWeProc.php", true);
                            xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
                            xhr.send("TypeAction="+pTypeAction+"&IDAction="+pIDAction+"&IDEtat="+pIDEtat+"&Commentaire="+pCommentaire);
                        }
                        
                        function Traiter(pDonner, pTypeAction, pIDAction, pIDEtat, pCommentaire)
                        {
                        	if (pDonner == "INSERT")
                        	{
                        		Ajouter(pTypeAction, pIDAction, pIDEtat, pCommentaire, Erreur);
                        	}
                        	else if (pDonner == "UPDATE")
                        	{
                        		Modifier(pTypeAction, pIDAction, pIDEtat, pCommentaire, Erreur)
                        	}
                        }
                        


                        Donc je reprends, ma page php fait un echo INSERT ou UPDATE mais bien qu'il n'y ai pas D'ALERT, j'ai une popup qui s'affiche et qui contient soit INSERT ou UPDATE.

                        Donc je demande si vous savez pourquoi ?
                        Ou si vous qui avez appris l'Ajax, si vous avez un meilleur cours.

                        Merci.
                        • Partager sur Facebook
                        • Partager sur Twitter
                          23 décembre 2009 à 11:43:27

                          Bah fais voir tes fonctions Ajouter et Modifier.
                          • Partager sur Facebook
                          • Partager sur Twitter
                            23 décembre 2009 à 14:35:05

                            Héhé :lol:
                            Vous allez pas me croire... mais il y a de la magie dans IE.

                            Mais j'ai plus de popup... Bon j'ai pas compris pourquoi mais ça marche. ^^

                            La seule modification que j'ai faite à eu lieu sur ma page php appelé sur php mais cela ne devait pas avoir de répercutions.

                            Je vous met tous:
                            <?php
                            session_start();
                            header("Content-Type: text/xml");
                            
                                $APPLICATIONS=$_SESSION["Applications"];
                                $user="root"; // login
                                $password=""; // password
                                $WEPROC_ConnectionBDD= odbc_connect( 'WeProc', $user, $password );
                                
                                //Formation de la requete d'update:
                                if($WEPROC_ConnectionBDD)
                                {
                                    $requete="";
                                    switch($_POST['TypeAction'])
                                    {
                                        case 1: //lancer procédure.
                                            $requete="SELECT max(Hist_Date) FROM Historiser WHERE ID_Action = 0 AND ID_Application = ".$APPLICATIONS[$_SESSION["Proc"]]." AND ID_Etat = 3 AND Hist_Commentaire like 'Debut procedure' AND Hist_Nom_Machine like '".$_SESSION['NomMachine']."'";
                                        break;
                                        case 2: //Action de la procédures.
                                            $requete="SELECT max(Hist_Date) FROM Historiser WHERE ID_Action = ".$_POST['IDAction']." AND ID_Application = ".$APPLICATIONS[$_SESSION['Proc']]." AND ID_Etat = ".$_POST['IDEtat']." AND Hist_Nom_Machine like '".$_SESSION['NomMachine']."'";
                                        break;
                                        case 3: //Cloturer procédure.
                                            $requete="SELECT max(Hist_Date) FROM Historiser WHERE ID_Action = 100 AND ID_Application = ".$APPLICATIONS[$_SESSION["Proc"]]." AND ID_Etat = 2 AND Hist_Commentaire like 'Fin procedure' AND Hist_Nom_Machine like '".$_SESSION['NomMachine']."'";
                                        break;
                                    }
                                    //$Execution = odbc_exec( $WEPROC_ConnectionBDD, $requete);
                                    //On teste si l'action existe.
                                    if (odbc_result(odbc_exec( $WEPROC_ConnectionBDD, $requete), 1) == "" )
                                    {
                                        //L'action n'existe pas on doit utiliser un insert.
                                        echo "INSERT";
                                    }
                                    else
                                    {
                                        //L'action existe on vas la mettre à jour avec un update.
                                        echo "UPDATE";
                                    }
                                }
                            ?>
                            

                            J'ai enlevé
                            $Execution = odbc_exec( $WEPROC_ConnectionBDD, $requete);
                            
                            et depuis plus de popup...

                            voili voilou me reste plus qu'à vous dire merci et de m'excuser pour vous avoir embêté.

                            :-° entre nous j'aurai préféré découvrir un alert que j'avais oublié parce que niveau compréhension, je suis plus..

                            En tous cas, merci et joyeuse fête.
                            Cordialement.
                            • Partager sur Facebook
                            • Partager sur Twitter
                              23 décembre 2009 à 14:44:23

                              L'erreur la plus probable c'est qu'il y avait une alert, il y a fort longtemps.

                              Que depuis tu l'as supprimé, mais que IE n'est pas mis a jour son cache.
                              • Partager sur Facebook
                              • Partager sur Twitter

                              [Ajax] warning ou pas warning

                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                              • Editeur
                              • Markdown