IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[AJAX] exception setRequestHeader NS_ERROR_ILLEGAL_VALUE


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2005
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Février 2005
    Messages : 13
    Points : 15
    Points
    15
    Par défaut [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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 )

  2. #2
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par 3Dos Voir le message
    request.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=utf-8");
    Les headers, c'est toujours assez délicat

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2005
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Février 2005
    Messages : 13
    Points : 15
    Points
    15
    Par défaut
    WHA pinaiz, l'erreur de me*** lol

    Merci pour cette aide oh combien précieuse

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 20
    Points : 7
    Points
    7
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 31/07/2012, 10h57
  2. Réponses: 14
    Dernier message: 28/12/2009, 11h08
  3. [AJAX] setRequestHeader
    Par Simon30 dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 12/10/2008, 21h49
  4. Réponses: 1
    Dernier message: 14/08/2008, 17h06
  5. [AJAX] Ajax et PHP : gestion des exceptions
    Par sliderman dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 28/05/2008, 14h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo