[AJAX] exception setRequestHeader NS_ERROR_ILLEGAL_VALUE
Bonjour tout le monde, apr�s avoir recherch� sur Google, j'ai trouv� aucune soluce... �a me semble vachement bizarre parce que j'utilise la m�me methode que tout ce que j'ai vu sur internet (et m�me sur les tutos de developpez.com)
Mon script
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| var request;
function chaineRequete() {
var queryString = "";
var frm = document.forms[0];
var nbr = frm.elements.lenght;
for(var i = 0; i < nbr; i++) {
if(i < nbr-1)
queryString += frm.elements[i].name + "=" + encodeURIComponent(frm.elements[i].value) + "&";
else
queryString += frm.elements[i].name + "=" + encodeURIComponent(frm.elements[i].value);
}
return queryString;
}
function initReq(reqType,url,isAsynch) {
var queryString = chaineRequete();
request.onreadystatechange = traiteReponse;
request.open(reqType,url,isAsynch);
request.setRequestHeader("Content Type","application/x-www-form-urlencoded; charset=utf-8");
request.send(queryString);
}
function httpRequest(reqType,url,isAsynch) {
if(window.XMLHttpRequest)
request = new XMLHttpRequest();
else if(window.ActiveXObject) {
request = new ActiveXObject("Msxml2.XMLHTTP");
if (!request)
request = new ActiveXObject("Microsoft.XMLHTTP");
}
if (request)
initReq(reqType,url,isAsynch);
else
alert("Navigateur incompatible AJAX");
}
function envoiDonnees() {
var url = "xml_convert.php";
httpRequest("POST",url,true);
}
function traiteReponse() {
if(request.readyState == 4 && request.status == 200)
alert(request.responseText);
else if(request.readyState == 4)
alert("Un problème est survenu durant la communication avec le serveur");
} |
xml_convert.php
Code:
1 2 3 4 5 6 7 8 9 10 11
| <?php
header("Content-Type: text/xml; charset=utf-8");
echo '<?xml version="1.0" encoding="utf-8"?>'."\n";
echo '<params>'."\n";
foreach($_POST as $type => $champ)
echo '<'.$type.'>'.$champ.'</'.$type.'>'."\n";
echo '</params>'."\n";
?> |
Me renvoie une erreur:
Erreur : uncaught exception: [Exception... "Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIXMLHttpRequest.setRequestHeader]" nsresult: "0x80070057 (NS_ERROR_ILLEGAL_VALUE)" location: "JS frame :: http://192.168.1.5/hacks-ajax/hack2/post-query.js :: initReq :: line 23" data: no]
Si je commente la ligne "setRequestHeader" plus d'erreur mais les donn�es ne sont pas transmises :?
Je d�bute vraiment en Ajax (d'ailleurs ce code vient d'un exercice que je fais depuis un livre) donc j'ai ptet une mega erreur mais je vois pas o�...
HELP (et merci d'avance :aie: )
Probleme avec setRequestHeader
Bonjour tout le monde,
Je suis nouveau ici, et voici pour vous ma premi�re demande.
En fait j'ai cr��e une classe (en se basant sur une autre fonction qui fait appelle d'une mani�re automatique � un constructeur) dans celle-ci � un moment je fait appelle � la m�thode setRequestHeader car je veux envoyer une requ�te Ajax vers un script serveur en php.
Donc j'ai un code de ce genre:
this.transport.setRequestHeader('Content-type',this.options.encodeType+';encoding='+this.options.encoding);
Alors j'ai eu l'erreur suivante sous firefox:
0x80004005(NS_ERROR_FAILLURE)[nsIXMLHTTPRequest.setRequestHeader]...
Sachez bien que dans mon objet options est de cette forme
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| options={
method:'post',
contentType:'application/x-www-form-urlencoded',
encoding:'UTF-8',
parameters:'',
onComplete:function() { traitement... }
} |
Donc ma question concerne le fait que j'ai une erreur suite � l'utilisation de setRequestHeader
Merci beaucoup d'avance.
Simon