problème Ajax avec POST

4 réponses - 2634 vues
J'ai une fonction qui le contenu d'un fichier html à enregistrer sur un serveur (à travers un programme Perl). Mon soucis est que la variable "content" contient tout le contenu d'une page html, mais lorsque j'enregistre celle-la sur le serveur, il y a seulement 6 ou 7 lignes de html qui s'enregistrent, meme en envoyant la longueur de mon contenu dans le setRequestHeader. Autre problème, rien n'est retourné sur le onreadystatechange, même pas le readyState alors que en mode GET cela marche parfaitement (mais avec les limites du GET, forcément).
Voici mon code javascript :
**Code **
``
function ajaxFileSaving(query){
if (window.XMLHttpRequest) { // Mozilla, Safari, ...
requester = new XMLHttpRequest();
} else if (window.ActiveXObject) { // IE
requester = new ActiveXObject("Microsoft.XMLHTTP");
}


var filename = document.mainform.filename.value;
var filepath = document.mainform.folder_path.value;
var content = document.mainform.content.value;
var NiSys = document.mainform.NiSys.value;
var action = document.mainform.action.value;
var request = NiSys + "&action=" + action + "&filename=" + filename + "&folder_path=" + filepath + "&content=";


requester.onreadystatechange = function() {

document.getElementById("headerlabel").innerHTML = requester.readyState;


if (requester.readyState != 4)
return;


var answer = requester.responseText;
document.getElementById("headerlabel").innerHTML = answer;

};


var allrequest = request + content;
requester.open("POST", query, false);
requester.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
requester.setRequestHeader("Content-length", allrequest.length);
requester.setRequestHeader("Connection", "close");


requester.send(request + content);
}
``
Je crois que j'ai trouvé une des causes du problème... est -ce que le fait d'avoir un ";" dans la variable "content peut avoir une mauvaise influence sur l'intégrité de mes données ?
2eme probleme : le programme ne passe pas au travers du requester.onreadystatechange alors qu'il le fait en mode GET... ???
Comment ça il ne passe pas au travers ? Le fait d'avoir le ; ne devrai pas casser ta variable content, puisque le contenu est entre double quotes.

(4 résultats)


Catégories


Tags


Liens