Partage
  • Partager sur Facebook
  • Partager sur Twitter

Ajax l'objet XMLHttpRequest

J'y arrive avec POST mais pas avec GET !

Sujet résolu
    7 avril 2006 à 12:19:55

    Bonjour les zéros et les huns :D !
    J'ai un problème avec ce tuto http://www.siteduzero.com/tuto-3-3804-1-les-objets-xmlhttprequest.html
    J'ai fais le systeme de BBcode mais quand je change avec GET ca ne marche pas !
    les codes :
    js_xhr.php
    <?php
    header('Content-type: text/html; charset=iso-8859-1'); // en-tête HTTP
    include('bbcode.php'); // pour la fonction bbcode_parse()
    echo nl2br(bbcode_parse($_GET['texte'])); // on affiche le html
    ?>

    bbcode.php
    <?php
    function bbcode_parse($texte)
            {
            $texte = nl2br(htmlentities($texte,ENT_QUOTES));
            $texte = preg_replace('`\[color=(.+)\](.+)\[/color\]`iUs','<span style="color:$1;">$2</span>',$texte);
            $texte = preg_replace('`\[b\](.+)\[/b\]`iUs','<span style="font-weight:bold;">$1</span>',$texte);
            $texte = preg_replace('`\[i\](.+)\[/i\]`iUs','<span style="font-style:italic;">$1</span>',$texte);
            $texte = preg_replace('`\[u\](.+)\[/u\]`iUs','<span style="text-decoration:underline;">$1</span>',$texte);
            $texte = preg_replace('`\[url=(.+)\](.+)\[/url\]`iUs','<a href="$1">$2</a>',$texte);
            $texte = preg_replace('`\[img\](.+)\[/img\]`iUs','<img src="$1" alt="Image" />',$texte);
            return $texte;
            }
    ?>

    bbcode.html
    <html>
    <head>
    <style type="text/css">
    #apercu
    {
    border:1px green solid;
    height:198px;
    width: 220px;
    }
    </style>
    <script language="Javascript">
    <!--
    function apercu(form,id)
        {
               var texte = form.bbcode.value;
                    var xhr = false;
                    if(window.XMLHttpRequest)
                    {
                            xhr = new XMLHttpRequest()
                    }
                    else if(window.ActiveXObject)
                    {
                            try { xhr = new ActiveXObject('Microsoft.XMLHTTP'); }
                            catch(e) { xhr = new ActiveXObject('Msxml2.XMLHTTP'); }
                    }
                    if(xhr)
                    {
                            xhr.open('GET','js_xhr.php?texte='+texte,true);
                            xhr.onreadystatechange = function()
                            {
                                    if(xhr.readyState == 4)
                                    {
                                            // traitement des données
                                            document.getElementById(id).innerHTML =  xhr.responseText;
                                    }
                            }
                            xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded'); // en-tête HTTP
                            xhr.send(null);
                    }
        }
             //-->

             </script>
             </head>
             <body>
             <form method="post">
    <p><label>Texte :<br />
    <textarea name="bbcode" rows="10" cols="50"></textarea></label><br />
    <input type="submit" name="submit" value="Envoyer" /></p>
    <p><input type="button" name="apercu_bbcode" value="Aperçu" onclick="apercu(this.form,'apercu');" /></p>
    </form>
    <div id="apercu"></div>
    </body>
    </html>
    • Partager sur Facebook
    • Partager sur Twitter
      7 avril 2006 à 18:11:37

      Pourquoi veux-tu faire passer du bbcode avec GET ??? Un navigateur peut supporter une limite de caractères dans son champs d'adresse, donc un code bbcode trop long fera apparaitre une erreur.
      • Partager sur Facebook
      • Partager sur Twitter

      Ajax l'objet XMLHttpRequest

      × 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