Hello à tous,
j'ai un petit souci avec l'utilisation d'AJAX et ASP.NET (C#) :
quand j'envoie des données au serveur en POST via AJAX, mes accents (notamment) ne passent pas et côté serveur, il n'y a rien à la place (pas de ?, ni le code %xx qui aurait dû remplacer l'accent suite à l'utilisation de la fonction escape)
si j'envoie les données en GET, je n'ai pas ce problème...
si ne n'utilise pas escape, j'ai bien mes accents côté serveur mais par contre, ça plante pour les caractères comme & qui sont interprétés... (d'où l'utilisation de escape)
J'ai essayé différents charset utf-8, ISO-machin, ... mais ça ne change rien.
Avez-vous déjà rencontré ce genre de problème ?
Voici mon code côté client :
parameters += "&var=" + escape("testé")
//ouverture de la page côté serveur via l'objet ajax
xmlHttp.open("POST","EmployeeDB.aspx",true);
//indication dans l'en-tête de la page qu'il y a des infos passées en POST
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
//ajout de la taille des paramètres envoyés en POST dans l'en-tête
xmlHttp.setRequestHeader("Content-length", parameters.length);
//envoi des paramètres en POST
xmlHttp.send(parameters);
Et côté serveur, je récupère comme ceci (sVar contient 'test' sans l'é de fin et sans rien à la place, ni espace, ni autre):
string sVar = Request.Params["var"].ToString();