Sujet : [Résolu] Problème Ajax post caractères spéciaux

Bonjour à tous,

J'ai un soucis avec un formulaire. Je souhaite l'envoyer en POST via Ajax. Je récupère donc les valeurs du formulaire avec .val() et créé ensuite la chaine des variables à envoyer en AJAX sous forme "champ1=blabla&champ2=blabla ...".

Mon envoi fonctionne parfaitement dès l'instant que j'utilise des caractères des base. Mais dès que je souhaite mettre des accents et autres caractères spéciaux, plus rien n'est envoyé...

Sauriez-vous m'indiquer comment procéder pour envoyer (de manière sécurisée) les valeurs d'un formulaire pouvant contenir des caractères spéciaux?

Merci d'avance et bon dimanche à tous smile

Re : [Résolu] Problème Ajax post caractères spéciaux

Salut,

A froid je te conseillerais d'essayer d'envoyer tes donnees avec l'autre syntaxe disponible ( type "serializée") sous forme de paires clés valeurs:

exemple

data: {champs1:"valeur",champs2:"valeur"}

et voir si ça fonctionne...

Si cela ne fonctionne pas, poste nous le bout de code qui pose problème smile

Re : [Résolu] Problème Ajax post caractères spéciaux

<div id="tooltip_feedback">
                <form name="feedback" method="post">
                    <div class="tooltip_block">
                        <div class="tooltip_feedback_form">
                            <select id="mood">
                                <option value="0">Très mécontent</option>
                                <option value="1">Mécontent</option>
                                <option value="2">Neutre</option>
                                <option value="3" selected="selected">Satisfait</option>
                                <option value="4">Très satisfait</option>
                            </select>
                            <textarea id="feedback" name="feedback">Votre avis sur ce produit ici</textarea>
                        </div>
                    </div>
                    <div class="tooltip_footer">
                            <div class="tooltip_footer_left">
                                <div class="checkbox" style="float: left; margin-top: 5px;">
                                    echo 'Partager sur Facebook
                                </div>
                            </div>
                        <div class="tooltip_footer_right">
                            <input type="submit" class="feedback_btn" value="Envoyer mon avis"/>
                        </div>
                    </div>
                </form>
            </div>
                
            <script type="text/javascript">                            
                var success = false;
                var tooltip = ".addToLibrary .btn_gotit";
                var post_fb = 1;
                
                $(".tooltip_feedback_form textarea").toggleVal({
                    focusClass: "feedback_txt_focus",
                    changedClass: "feedback_txt_focus"
                });
                
                $(".checkbox").click(function() {
                    if(post_fb == 1) {
                        $(this).removeClass("checkbox");
                        $(this).addClass("checkbox_disabled");
                        console.log("non");
                        post_fb    = 0;
                    } else {
                        $(this).removeClass("checkbox_disabled");
                        $(this).addClass("checkbox");
                        console.log("oui");
                        post_fb = 1;
                    }
                });
                
                $(".feedback_btn").click(function() {
                    
                    var mood = $("select#mood").val();
                    if (mood == "") {
                        // Error
                        success = false;
                    } else {
                        success = true;
                    }
                    
                    var feedback     = $("textarea#feedback").serialize();
                    if (feedback == "" || feedback == " ") {
                        // Error
                        success = false;
                    } else {
                        success = true;
                    }
                    
                        
                    var dataString = "mood=" + mood + "&" + feedback + "&post_fb=" + post_fb;
                    console.log(dataString);
                    
                    if (success) {
                        
                        $.ajax({
                            type: "POST",
                            url: "js/send_feedback",
                            data: dataString,
                            success: function(retour) {
                                
                                $("#tooltip_feedback").html(retour);
                                console.log("ok");
                            }
                            
                        });
                    }
                });
            </script>

Re : [Résolu] Problème Ajax post caractères spéciaux

Bon, après quelques tests en fait ça fonctionne dès l'instant qu'il n'y a pas de caractères spéciaux, donc ça va pas... (pour infos mon doc est en UTF-8).

Toujours pas d'idée sur l'origine du problème? sad

Re : [Résolu] Problème Ajax post caractères spéciaux

Je m'occupe de toi ce soir, la je suis au boulot smile
On va trouver la solution t’inquiète pas !

Re : [Résolu] Problème Ajax post caractères spéciaux

Re : [Résolu] Problème Ajax post caractères spéciaux

Ok, merci Jarodxxx. Je ne pense pas que ça solutionne mon problème car déjà essayé, mais dès que j'ai la solution je viens la poster ici wink

Merci pour ton aide

Re : [Résolu] Problème Ajax post caractères spéciaux

Tiens je viens de remarquer un truc: c'est normal que ton form et ton textarea s'apellent "feedback" tous les deux ? smile ...

Re : [Résolu] Problème Ajax post caractères spéciaux

Re : [Résolu] Problème Ajax post caractères spéciaux

mais lol !
bon a savoir pour les macuser en tout cas, je note dans un coin !