Partage
  • Partager sur Facebook
  • Partager sur Twitter

Test d'une requête AJAX avec jQuery

Sujet résolu
    4 juillet 2010 à 20:51:01

    Bonjour,

    je suis bloqué à un endroit de mon code et je ne comprends vraiment pas pourquoi ça bloque.

    Voici le code incriminé:
    $.ajax({
        type: "POST",
        url: "target.php",
        data: donnees,
        cache: false,
        success: function(html){
    					
           if (html == 1)
           {
              alert('REUSSITE');
           }
           else
           {   
              alert('PAS REUSSI');
           }
    });
    


    Dans ma page target, je traite les données envoyé par cette requête ajax, et en fonction des données envoyé, je retourne 1 si les conditions sont remplis et 0 si elles ne sont pas remplis pour pouvoir ensuite traiter ces valeurs de retour avec jQuery (ici la valeur de retour de target.php sera contenu dans la variable "html" comme vous pouvez le voir ci-dessus).

    Il n'y a pas d'erreur retournée mais le problème c'est que lorsque html contient 1 ou 0, j'aurai toujours la boite de dialogue affichant "PAS REUSSI", donc il ne semble pas se préocuper de la première condition... C'est assez bizarre, j'ai essayé plusieurs truck comme mettre le 1 de la condtion entre apostrophe, mais rien y fait la condition et toujours bâclée, j'ai fait des alert(html) et j'ai bien 1 qui s'affiche quand les conditions sont remplies et 0 si elles ne le sont pas dans target.php


    Logiquement ça devrait m'afficher une boite de dialogue contenant "REUSSITE" quand html contient 1 mais non... Trop bizarre...

    Comment faire ?

    Merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter
      4 juillet 2010 à 22:14:05

      Je crois, si je ne dis pas de bêtises que tu essaies de faire un texte booléen avec un 1 et un 0, or en JS, c'est un peu particulier c'est-à-dire que la condition n'est pas interprétée comme telle ...
      Faudrait que je recherche l'histoire. Sinon commence par rechercher dans cette voie.

      Edit : essaie de déclarer un type Boolean comme :

      success: function(html){
      	var b = new Boolean(html);			
             if (html)
             {
                alert('REUSSITE');
             }
             else
             {   
                alert('PAS REUSSI');
             }
      });
      


      Philippe
      • Partager sur Facebook
      • Partager sur Twitter
        4 juillet 2010 à 22:22:34

        Merci de ton aide mais j'ai pas très bien comprit c'que tu voulais dire.
        • Partager sur Facebook
        • Partager sur Twitter
          6 juillet 2010 à 23:49:03




          Re salut à tous l'monde, voilà j'ai réussi à régler le problème mais d'une manière très bizarre.
          Je m'explique,
          J'ai fait un alert de "html" et j'ai sélectionné et copié le 1 affiché dans la boite de dialogue, puis j'ai collé ce 1 dans la condition, et ça marche depuis, c'est vraiment incroyable.

          J'ai peut-être une piste car tous mes fichiers PHP sont encodé en UTF-8, et dans tous mes script j'ajoute toujours "charset="UTF-8" alors que toutes les pages html de mon projet sont aussi UTF-8.

          Quelqu'un pourait-il confirmer ?
          • Partager sur Facebook
          • Partager sur Twitter

          Test d'une requête AJAX avec jQuery

          × 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