Je suppose que tu as aussi mis le HTTP 1.1 ...
Alors, comme je n'ai pas plus d'idée, je ne peux que te conseiller de vérifier l'écriture des données (var=val&var=val&truc=chose)
Et te donner mon bout de script pour que tu vois comment je fais...
Je constitue les données à transmettre ainsi :
if(this._dataToSend!='') this._dataToSend += '&';
this._dataToSend += escape(dataName)+'='+escape(dataValue);
Ensuite pour envoyer les données :
r = this._getRequestObject();
r.open(this.requestMethod, this.requestURI, this.asynchronousMode);
if (this.requestMethod == 'POST') {
try {
r.setRequestHeader("Method", "POST " + this.requestURI + " HTTP/1.1");
r.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
} catch(e) {
alert("Your browser does not appear to support asynchronous requests using POST.");
return false;
}
}
Puis je défini la fonction onreadystatechange (je ne sais pas pourquoi ici...)
Puis envoie des données
// Avant, il y'a un si method == 'POST', postData = this._dataToSend, sinson postData = '';
r.send(postData);
Et c'est un peu pret tout...
Note, j'utilise à 99% la méthode POST dans mes scripts AJAX.