IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Encodage pour envoi par POST


Sujet :

JavaScript

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    175
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Seine et Marne (Île de France)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 175
    Points : 138
    Points
    138
    Par défaut Encodage pour envoi par POST
    Bonjour,

    pour transmettre du texte par POST, j'ai besoin de remplacer les caractères "&" et "=" par d'autres qui ne viendront par mettre le bazar.

    pour cela j'ai fait une fonction assez simple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    var text = AjaxFormat("fs¤df& &cfss=gvf"); // exemple de texte
    console.log(text);
     
    return;
     
    function AjaxFormat(str, codage) {
       if (codage == 'decode') {
          newstr = Remplace(str,'¤3','=');
          newstr = Remplace(str,'¤2','&');
          newstr = Remplace(str,'¤1','¤');
       } else {
          newstr = Remplace(str,'¤','¤1');
          newstr = Remplace(str,"&",'¤2');
          newstr = Remplace(str,'=','¤3');
       }
       return(newstr);
    }
     
    function Remplace(str,find,rep){
       var reg = new RegExp(find,"g");
       return(str.replace(reg,rep)); 
    }
    Je l'ai fait il y a quelque temps, je pensais l'avoir testé et que ça fonctionnais.
    Là je viens de me rendre compte que ça ne marche pas ou plus.

    Le caractère "=" est bien transformé mais les 2 autres non.

    Mon fichier .js est en utf8.
    Je pense que ça viens de là mais je ne trouve pas de solution pour faire ce remplacement.

    A l'aide!!

  2. #2
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 093
    Points : 6 754
    Points
    6 754
    Par défaut
    Et pourquoi pas simplement encodeURIComponent ?
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    175
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Seine et Marne (Île de France)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 175
    Points : 138
    Points
    138
    Par défaut
    Je savais que l'on me proposerai quelque chose comme ça

    Avant de faire ma fonction j'ai fait le tour de toutes les fonctions d'encodage et je n'avais rien trouvé qui me plaisait. ( Honnêtement je ne me rappelle plus trop pourquoi )
    Je vais revoir la doc de celle ci quand même.

    Il faut que je puisse récupérer mes données dans le même état qu'avant l'envoie.

    je suis débutant en javascript et quand j'ai fait cette fonction j'avais besoin d'envoyer vers php mais je devais penser avoir aussi besoin d'encoder des données pour le transfert php > javascript.
    J'ai vérifié et je n'ai jamais utilisé le décodage de cette fonction en javascript.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    175
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Seine et Marne (Île de France)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 175
    Points : 138
    Points
    138
    Par défaut
    Bon après quelques tests, je confirme que le couple encodeURIComponent et urldecode fonctionne bien.

    je crois que je n'ai pas utilisé ces fonctions parce j'étais persuadé d'avoir besoin de faire la même chose de php vers javascript.
    Et l'autre chose qui me gênait et aujourd'hui encore, c'est le fait que texte encodé comme ça, double de volume.

    Je suppose que pour avoir quelque chose de fiable il n'y a pas vraiment d'alternative donc je vais faire comme tout le monde.

    Merci pour ton aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD-2003] Macro pour envoi par email
    Par relenaheero dans le forum VBA Word
    Réponses: 11
    Dernier message: 22/11/2010, 20h42
  2. Aide Pour envoi par mail d'un résultat
    Par arno.p dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/11/2010, 12h44
  3. [Upload] upload de fichier pour envoi par mail
    Par mdr_cedrick dans le forum Langage
    Réponses: 2
    Dernier message: 26/05/2009, 08h56
  4. Serialisation d'objet pour envoie par UDP
    Par olator dans le forum MFC
    Réponses: 3
    Dernier message: 07/11/2008, 19h11
  5. Envoi par POST de la "value" d'un checkbox non selectionné
    Par guejo dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 21/12/2007, 11h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo