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] requête sur fichier.xml => erreur 405 sous IE !


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2007
    Messages : 247
    Par défaut [AJAX] requête sur fichier.xml => erreur 405 sous IE !
    Bonjour à tous,

    je crois que tout est dit dans le titre, si ce n'est que le message d'erreur correspondant au code 405 est du genre : "La methode POST demandée pour l'URL 'fichier.xml' n'est pas autorisée" - sauf que j'utilise une méthode GET !?

    cette erreur n'apparait que sous IE et ceux quelle que soit le response utilisé (responseText et responseXML) !

    en revanche, si je crée mon fichier XML via un script php, là je n'ai pas de problème pour récupérer mon fichier...

    quelqu'un a-t-il une idée ??

    merci

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2007
    Messages : 247
    Par défaut Up ;)
    up up

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2007
    Messages : 247
    Par défaut
    bsr,

    voici les codes en question...

    mon fichier xml statique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <!DOCTYPE reponse SYSTEM "http://mda.jvprod.fr/dtd/xml.dtd">
    
    <reponse>
    	<main>un bout de texte ici...</main>
    </reponse>
    avec son dtd :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <!ELEMENT reponse (main|log)>
    <!ELEMENT main (#PCDATA)>
    <!ELEMENT log (#PCDATA)>
    les fonctions AJAX :
    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
    //DEBUT SCRIPT AJAX
    function Requete(){ //définition de la classe
    	if(window.ActiveXObject) return new ActiveXObject('Microsoft.XMLHTTP');
    	if(window.XMLHttpRequest) return new XMLHttpRequest();
    	else alert('Votre Navigateur ne prend pas en charge la technologie AJAX ! Utilisez Firefox -ou IE- pour visiter ce site...');
    	}
     
    function Answer(requete){
    	if(requete.readyState == 4){
    		if(requete.status == 200){
    			var XMLData = requete.responseXML;
     
    			//DEBUT PARSER XML
    			var rep = XMLData.getElementsByTagName("reponse");
     
    			for(h=0;h<rep.length;h++){
    				var zone = rep.item(h).childNodes;
     
    				for(i=0;i<zone.length;i++){
    					var calque = zone.item(i).nodeName;
    					var infos = zone.item(i).childNodes;
     
    					for(j=0;j<infos.length;j++){
    						var msg = infos.item(j).nodeValue;
    						document.getElementById(calque).innerHTML = msg;
    						}
    					}
    				}
    			//FIN PARSER XML
    			}
    		else document.getElementById("AjaxStatus").innerHTML = "Une erreur [code : "+requete.status+"] est survenue...";
    		window.status = "Terminé";
    		}
    	else if(requete.readyState < 4){
    		window.status = "Chargement en cours... "+(requete.readyState*25)+"%";
    		}
    	}
     
    function Ask(fichier,methode,donnees){ //script de requete AJAX
    	var requete = false;
    	var requete = new Requete();
     
    	requete.open('GET',''+fichier+'',true);
     
    	if(methode == "POST") requete.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
     
    	requete.onreadystatechange = function(){ Answer(requete);}
     
    	requete.send(donnees);
    	}
    //FIN SCRIPT AJAX
    et la requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Ask('todolist.xml','GET','null');
    si vous trouver le pourquoi de cette erreur 405 sous IE...

    merci ;-)

  4. #4
    Invité
    Invité(e)
    Par défaut
    Pourrais-tu juste mettre les balises de code pour plus de clareté ?
    As-tu essayé d'ouvrir directement le fichier xml dans IE avec Fichier->Ouvrir->Parcourir ? Sincèrement c'est comme ça que j'ai repéré le problème de charset dans mon xml. A l'ouverture c'était OK sous FF mais pas OK sous IE. J'ai modifié mon xml jusqu'à ce qu'il soit "ouvrable" sous IE.

    webrider

  5. #5
    Invité
    Invité(e)
    Par défaut
    J'ai essayé d'ouvrir ton xml dans IE et voici la réponse :

    Le système ne trouve pas l'objet spécifié. Erreur de traitement de la ressource http://mda.jvprod.fr/dtd/xml.dtd.
    L'erreur vient donc du fait que IE ne trouve pas ton dtd. J'ai créé le même dtd que toi mais en local (même répertoire) et son appel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <!DOCTYPE reponse SYSTEM "xml.dtd">
    Et ça passe sous IE.

    webrider

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2007
    Messages : 247
    Par défaut
    salut,

    oui effectivement, ces jours-ci j'ai un soucis sur mon serveur donc il est normal que tu ne puisses pas ouvrir le fichier directement ni trouver le dtd... cela dit, en tapant dans ma barre d'adresse l'url direct du fichier xml, celui-ci s'ouvrait normalement aussi bien sous IE que sous FF... c'est pour ça que je comprends encore moins... d'autant quand le générant via PHP, sans rien modifier, le fichier est parsé correctement...

    PS : j'édit le post précédent pour ne laisser que les noeuds de mon xml...

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

Discussions similaires

  1. Requête sur fichier XML avec liaison de données
    Par lpyann dans le forum XML/XSL et SOAP
    Réponses: 8
    Dernier message: 14/08/2014, 21h44
  2. [XL-2003] requêtes sur fichier fermé sous conditions
    Par mickisa dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 19/11/2013, 15h58
  3. Réponses: 2
    Dernier message: 19/01/2012, 21h55
  4. Réponses: 4
    Dernier message: 27/02/2010, 22h04
  5. Requête sur fichier XML
    Par migutz dans le forum VB.NET
    Réponses: 1
    Dernier message: 09/11/2007, 15h34

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