Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > AJAX
AJAX Forum sur la programmation AJAX. Avant de poster : Cours AJAX, FAQ AJAX, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/02/2008, 16h32   #1
Invité de passage
 
Inscription : février 2008
Messages : 3
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 3
Points : 0
Points : 0
Par défaut Utiliser responseXML pour du xhtml (ou html)

Bonjour,

lorsqu'on utilise un objet xmlhttprequest, responseXML renvoie null si la page demandée n'est pas du XML, peut-ont forcer javascript a interpréter une page (du xhtml notamment) comme du xml ? L'idée est de pouvoir manipuler avec le DOM une page web récupérée via l'objet xhr.

merci
Julien281 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2008, 16h39   #2
Rédacteur
 
Avatar de MasterOfChakhaL
 
Homme
Développeur Web
Inscription : juin 2004
Messages : 2 148
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 32
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : Conseil

Informations forums :
Inscription : juin 2004
Messages : 2 148
Points : 2 628
Points : 2 628
Salut et bienvenue à toi sur les forums de developpez.com,

Peut-être cela suffirait-il que ton serveur renvoie les entêtes adéquates pour du xml (type mime:application/xhtml+xml) avec la réponse.
Ou alors, je pense que les frameworks javascript les plus courants sont capables de transformer un texte représentant du xhtml en représentation DOM...
__________________
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
N'oubliez pas de cliquer sur quand votre question à trouvé une solution.

Si vous n'avez pas encore lu les règles du club, mieux vaut tard que jamais!
MasterOfChakhaL est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2008, 16h40   #3
Responsable Modération
 
Homme
Inscription : janvier 2007
Messages : 9 315
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Secteur : Finance

Informations forums :
Inscription : janvier 2007
Messages : 9 315
Points : 15 609
Points : 15 609
Bonjour,
il suffit de récupérer la réponse dans responseText au lieu de responseXML

A+
E.Bzz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2008, 20h20   #4
Invité de passage
 
Inscription : février 2008
Messages : 3
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 3
Points : 0
Points : 0
tout d'abord merci pour vos réponses rapides mais si on utilise responseText, on obtient une chaine de caractère et non pas un objet xml (donc impossible à manipuler avec les méthdes DOM). A défaut de pouvoir changer les en-têtes sur le serveur, on peut utiliser la méthode "overrideMimeType" (http://www.xulplanet.com/references/...errideMimeType) sous Mozilla pour forcer le type côté client. Cela donne quelque chose comme:
Code :
1
2
3
4
R = new XMLHttpRequest();
R.open(methode,url,true);
R.overrideMimeType('text/xml');
...
Ayant ce problème pour une application xul, je n'ai pas cherché avec IE, mais il en est question ici:
http://robert.accettura.com/archives...metype-in-ie7/

Cette méthode fonctionne mais elle nécessite que la page appelée sous soit parfaitement formée. Or la page que je récupère contient un script sans [CDATA, donc le parser genère une erreur lorqu'il rencontre document.write('<balise'+...

J'ai pensé à une autre solution: charger avec responseText, éliminer les scripts avec des expressions régulières et créer un document XML (document.implementation.createDocument) avec la variable épurée. Mais je n'ai pas trouvé de méthode permetant de charger une variable , la méthode load ne gère que les fichiers distants. Existerait-il une fonction pour charger une variable ?
Julien281 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h29.


 
 
 
 
Partenaires

Hébergement Web