Passer le caractère & en parametre en Ajax
mariostar27
Messages postés
442
Statut
Membre
-
afrnos Messages postés 61 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 :
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.
--
gwennael
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.
--
gwennael
4 réponses
-
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 -
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.
-
Justement, c'est le & qui merde. si contenu = "Alain & Anais" , bas du coté PHP, $_POST['contenu'] vaudra "Alain " seulement.
-
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é