Passer le caractère & en parametre en Ajax

mariostar27 Messages postés 442 Statut Membre -  
afrnos Messages postés 61 Statut Membre -
Bonjour,

Voila je code en PHP et je souhaite passé le caractère & en Ajax. J'utilise jQuery et j'ai donc ceci :

$.ajax({
        type: "post",
        url: "monurl.php",
        data: "titre="+titre+"&contenu="+contenu,
        complete:
            function(req){

                ...

            }
    });


mais quand j'ai le caractère & dans ma variable contenu ou titre, cela ne fonctionne plus tu tout.

Aider moi svp, merci d'avance.


A voir également:

4 réponses

afrnos Messages postés 61 Statut Membre 16
 
Bonjour,

Le problème vient de votre code javascript qui, comme vous l'avez deviné, n'est pas adaptée pour prendre un compte le caractère & dans l'url

Pour régler ce problème, il faut que vous passiez par une fonction javascript qui se charge de ça : encodeURIComponent .

var titre = encodeURIComponent(titre); 
var contenu = encodeURIComponent(contenu); 

$.ajax({ 
        type: "post", 
        url: "monurl.php", 
        data: "titre="+titre+"&contenu="+contenu, 
        complete: 
            function(req){ 

                ... 

            } 
    });

Afrnos GH
1
Autumn`Tears Messages postés 1247 Statut Membre 145
 
Salut,

Essaie &
En revanche, avec des fichiers encodés en UTF-8 et un charset également en UTF-8, ça ne devrait pas poser de problème.
0
mariostar27 Messages postés 442 Statut Membre 26
 
Justement, c'est le & qui merde. si contenu = "Alain & Anais" , bas du coté PHP, $_POST['contenu'] vaudra "Alain " seulement.
0
Autumn`Tears Messages postés 1247 Statut Membre 145
 
Ah effectivement, et avec un htmlentities($_POST['contenu']) ?
0
mariostar27 Messages postés 442 Statut Membre 26
 
si je fais un htmlentities($_POST['contenu']) il ne me donnera pas la suite qu'il manque. directement dans le fichier PHP, echo $_POST['contenu'] me donne se que j'ai donné
0
Autumn`Tears Messages postés 1247 Statut Membre 145
 
Essaie avec & a m p ; (sans espace, je viens juste de me rendre compte que ça le tronque...)
0