Recuperation d'un fichier xml avec une requette http en ASP

Résolu
thouratn2000 Messages postés 1 Date d'inscription vendredi 31 mars 2006 Statut Membre Dernière intervention 6 août 2007 - 6 août 2007 à 17:03
cs_AlexN Messages postés 694 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 8 janvier 2014 - 8 août 2007 à 15:15
Bonjour ,
J'ai un probleme au niveau de lecture d'un fichier xml distant en asp/ajax.
en fait moi j'envoie une requette en 'get' et je recois comme retour un fichier XML sous le navigateur.
moi je veux lire ce fichier , mais j'arrive pas.
voila un ptit code en utilisant ajax mais ca marche pas.
merci beaucoup !!!

function submitForm()
 {
  var req = null;


   if(window.XMLHttpRequest)
   req = new XMLHttpRequest();
  else if (window.ActiveXObject)
   req  = new ActiveXObject(Microsoft.XMLHTTP);
       
     req.onreadystatechange = function()
  {
   document.text.dyn.value="Wait server...";
   if(req.readyState == 4)
   {
    if(req.status == 200)
    {
     document.text.dyn.value="Received:" + req.responseText; 
     
    } 
    else 
    {
     document.ajax.dyn.value="Error: returned status code " + req.status + " " + req.statusText;
    } 
   }
  };
  req.open("GET", "http://www.xul.fr/fichier.xml", true);
  req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  req.send(null);
 }

merci pour tous

3 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
6 août 2007 à 21:17
[déplacé vers javascriptfr]

A mon avis le problème vient du fait que tu essaye de récuperer un fichier qui ne fait pas partie de ton domaine, or les requetes XHR ne sont pas cross domaine, c'est à dire que si ton domaine est toto.com tu pourras pas faire une requete xhr sur tata.com ... on peut bien sur bidouiller son navigateur pour autoriser les requetes cross domaine mais le plus simple consiste à mettre un bridge sur le serveur, c'est à dire que tu fais une page spécial sur ton serveur tu ferras ta requete XHR sur cette page qui à son tour fera la requete sur le domaine final (pas de restriction cross domaine puisque c'est le serveur qui le fait)

<hr />Cyril - MSP - MCPD ASP.net & MCTS SQL
3
cs_AlexN Messages postés 694 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 8 janvier 2014 19
8 août 2007 à 15:10
essayes avec
document.text.dyn.value="Received:" + req.responseXML;
au lieu de
document.text.dyn.value="Received:" + req.responseText;
puisque c'est du xml que tu attends
3
cs_AlexN Messages postés 694 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 8 janvier 2014 19
8 août 2007 à 15:15
De toute façon à l'affichage, tu ne verra pas le contenu de ta réponse parce qu'il s'agit d'un arbre dom construit par le navigateur.
tu obtiendras plutôt quelquechose comme
Received : [XML Object]
il faut faire quelquechose comme responseXML.xml avec internet explorer pour avoir une forme lisible
3
Rejoignez-nous