voilà, j'utilise le fameux XMLHttpRequest, et c'est super ! Mais ... j'ai des problèmes d'encodage de caractère
Voici les 2 cas de figures que j'ai :
en utilisant XMLHttpRequest pour poster le formulaire
* envoi le contenu des champs en utf8
* récupère (responseText) de l'utf8 (je crois) alors que le contenu est de l'iso-8859 (et le dit dans l'entête)
en utilisant le formulaire sans javascript: tout ce passe bien en iso-8859-1
Donc :
1. Il faut que je détecte si le formulaire est posté via javascript ou non, pour faire un utf8_decode(), ce que j'aimerai éviter.
2. je ne sais pas comment faire pour afficher correctement le responseText.
d'où :
1. Puis-je poster en javascript en iso-8859-1 ? Comment ?
2. Pourquoi ai-je des problèmes d'affichage en récupérant responseText, qui est de l'iso-8859, en l'affichant ?
Voilà, si vous avez compris et que vous avez des idées ...
Voici le javascript utilisé :
CODE
function saveFile()
{
request = new XMLHttpRequest();
request.open("POST", location.pathname);
request.onload = printResult;
/* Envoi de l'utf8 ? */
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
var _fileContent = (document.getElementById('fileContent').value);
var _mtime = document.getElementById('mtime').value;
var _action = "editFile";
request.send("ajax=true&fileContent="+_fileContent+"&mtime="+_mtime+"&action="+_action);
}
function printResult()
{
if(document.getElementById("log")){
document.getElementById("log").parentNode.removeChild(document.getElementById("log").parentNode);
}
var _result = document.createElement("div");
/* reçoit de l'utf8 ? */
_result.innerHTML = request.responseText;
document.body.appendChild(_result);
//document.body.innerHTML = request.responseText;
}
{
request = new XMLHttpRequest();
request.open("POST", location.pathname);
request.onload = printResult;
/* Envoi de l'utf8 ? */
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
var _fileContent = (document.getElementById('fileContent').value);
var _mtime = document.getElementById('mtime').value;
var _action = "editFile";
request.send("ajax=true&fileContent="+_fileContent+"&mtime="+_mtime+"&action="+_action);
}
function printResult()
{
if(document.getElementById("log")){
document.getElementById("log").parentNode.removeChild(document.getElementById("log").parentNode);
}
var _result = document.createElement("div");
/* reçoit de l'utf8 ? */
_result.innerHTML = request.responseText;
document.body.appendChild(_result);
//document.body.innerHTML = request.responseText;
}
