Partage
  • Partager sur Facebook
  • Partager sur Twitter

Variable impossible à modifier !

Sujet résolu
    4 août 2009 à 0:23:18

    Slt, je fais ceci :

    var done = '';
    function updateVote(note){
        if(done==''){
            $.getJSON("<?php echo $this->url(array('controller'=>'index','action'=>'vote','note'=>'1'),'default',true) ?>",
                function(data){
                    done = data.result;
                    alert(done) // Renvoi ce que j'attends
                }
            );
        }
        alert(done) // Renvoi la valeur initiale
        displayResponse(done);
    }
    


    L'alert renvoi '' (donc la valeur de done au début du script quoi).
    J'ai essayé de faire window.done = ''; puis de la réutiliser plus tard mais sans succès.

    Quel est le problème svp??
    • Partager sur Facebook
    • Partager sur Twitter
      4 août 2009 à 1:04:07

      J'ai pas tout compris, réexplique mieux stp.

      Ensuite mets nous le code généré, osef du php
      • Partager sur Facebook
      • Partager sur Twitter
        4 août 2009 à 1:20:57

        Ligne 1 j'initialise une variable. Comme c'est hors fonction, théoriquement cette variable est accessible partout.

        Ligne 6 j'assigne à cette variable le résultat d'une requête AJAX.
        Ligne 7 je vérifie la valeur de la dite variable avec alert(), la valeur correspond au résultat de la requête AJAX.

        MAIS, ligne 11, quand je vérifie à nouveau la valeur de done ça m'affiche la valeur déclaré ligne 1 !
        • Partager sur Facebook
        • Partager sur Twitter
          4 août 2009 à 21:52:29

          Up (c'est pour LePireDuNet.fr), hehe :)
          • Partager sur Facebook
          • Partager sur Twitter
            4 août 2009 à 22:31:06

            Tu fais de l'ajax c'est asynchrone. Bien que dans ton code ce ne soit pas le cas, au moment de l'exécution c'est le second alert qui est pris en compte en premier avec done ayant à ce moment là la valeur ''. Le premier alert contient la bonne valeur car il est le callback de ton appel ajax, donc il se fait après réception de la requête asynchrone.
            • Partager sur Facebook
            • Partager sur Twitter
              4 août 2009 à 23:02:56

              Citation : pi-R

              Up (c'est pour LePireDuNet.fr), hehe :)



              gg le coup de pub en passant.

              Ensuite kirby a tout dit =D


              Edit: Hey, si vous etes les webmaster de ce site, y'a un truc c'est completement nul.. votre site n'est accesible qu'avec les www, sans on a le droit à une erreur o_O
              • Partager sur Facebook
              • Partager sur Twitter
                4 août 2009 à 23:24:40

                @Tiller, pour une raison que nous ignorons, IE n'interprète pas le header que Apache renvoi si tu essai de contacter le site sans les 'www'. On travaille sur le problème. La solution actuelle est soit d'utiliser un navigateur différent, sois de contacter le site avec les www. Sois sûr que nous faisons tout notre possible pour résoudre ce problème.

                @k1rby: effectivement j'avais oublié le caractère asynchrone des requête AJAX, ça fait lgtps que je n'en avais pas fait :p

                Merci.
                • Partager sur Facebook
                • Partager sur Twitter
                  5 août 2009 à 11:11:03

                  Citation : Feng Huang

                  @Tiller, pour une raison que nous ignorons, IE n'interprète pas le header que Apache renvoi.



                  Manque de bol, je suis sous firefox =D
                  • Partager sur Facebook
                  • Partager sur Twitter
                    5 août 2009 à 11:49:32

                    Chez moi http://lepiredunet.fr fonctionne très bien... ça redirige sur le www.

                    EDIT : et bah tiens, ça c'est bizarre ! Si je clique sur le lien de ce message, ça me met une erreur de chargement.
                    Mais si ensuite je re-valide l'url dans la barre d'adresse, ça fonctionne.
                    Et encore mieux, si j'ouvre le lien directement dans un nouvel onglet, ça fonctionne directement ! :waw:
                    • Partager sur Facebook
                    • Partager sur Twitter
                      5 août 2009 à 11:57:11

                      While trying to retrieve the URL: http://lepiredunet.fr/
                      
                      The following error was encountered:
                      
                          Unable to determine IP address from host name for lepiredunet.fr 
                      
                      The dnsserver returned:
                      
                          No DNS records 
                      
                      This means that:
                      
                       The cache was not able to resolve the hostname presented in the URL. 
                       Check if the address is correct.



                      C:\Users\Administrateur>ping lepiredunet.fr
                      La requête Ping n'a pas pu trouver l'hôte lepiredunet.fr. Vérifiez le nom et ess
                      ayez à nouveau.



                      Plutot qu'une redirection, pourquoi vous ne faites pas pointé le domaine vers votre Kimsufi et vous ajoutez un vhost qui pointe dans le même dossier que www.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        6 août 2009 à 14:44:54

                        @Golmote : c'est normal, ton navigateur cherche dans ton historique si tu tape "lepiredunet.fr", alors que quand tu fais "http://lepiredunet.fr" tu dis clairement le domaine que tu veux joindre.

                        Sinon j'ai résolu le problème il semblerait, vous pouvez confirmer ?
                        • Partager sur Facebook
                        • Partager sur Twitter

                        Variable impossible à modifier !

                        × 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