je ne parviens pas à récupérer responseXML, mais
seulement responseText, pour un "fil de syndication Atom",
contrairement aux "fils RSS",
le traitement avec le DOM est donc (?!) "difficile".
j'ai mal compris quelque chose ?
y a-t-il un setRequestHeader à envoyer ?
( j'en ai essayé plusieurs, sans succès )
ou... je ne sais quoi...
ou alors ? comment, à partir de responseText, traiter
getElementsByTagName("balise"), par exemple ?
extrait de ce que je fais :
( uniquement viable avec IE, sans gestion d'erreurs,
expurgé du reste pour "simplifier" )
<html>
<body>
<script type="text/javascript">
var xml = new XMLHttpRequest();
xml.onreadystatechange = function()
{ if( xml.readyState==4 )
{ // alert(xml.responseXML.xml);
alert(xml.responseText);
}
}
// var url="http://www.codes-sources.com/rss.aspx?type=code";
var url="http://blog.webinventif.fr/atom.php";
xml.open("GET",url,true);
xml.send(null);
</script>
</body>
</html>
xml.responseXML.xml et les url (rss)
http://www.codes-sources.com/rss.aspx?type=code ( et les autres )
: ça baigne, c'est bien le contenu renvoyé.
avec http://blog.webinventif.fr/atom.php (atom)
: seul xml.responseText "répond".
xml.responseXML est "vide"
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Mickaël Wolff
xml.responseXML.xml et les url (rss) http://www.codes-sources.com/rss.aspx?type=code ( et les autres ) : ça baigne, c'est bien le contenu renvoyé.
avec http://blog.webinventif.fr/atom.php (atom) : seul xml.responseText "répond". xml.responseXML est "vide"
Habituellement, c'est parce que le XML est mal formé, ou que le Content-type n'est pas bon. Mais là, force est de constater qu'il semble bien formé <http://validator.w3.org/feed/check.cgi?url=http%3A%2F%2Fblog.webinventif.fr%2Fatom.php>.
Peut-être est-ce le Content-Type ? C'est le même dans les deux cas (application/xhtml+xml), mais il me semble que le type devrait être (text/xml), comme indiqué sur ce blog <http://keelypavan.blogspot.com/2006/01/using-ajax.html> ou encore dans la spécification <http://www.atomenabled.org/developers/syndication/atom-format-spec.php#atom.documents>.
xml.responseXML.xml et les url (rss)
http://www.codes-sources.com/rss.aspx?type=code ( et les autres )
: ça baigne, c'est bien le contenu renvoyé.
avec http://blog.webinventif.fr/atom.php (atom)
: seul xml.responseText "répond".
xml.responseXML est "vide"
Habituellement, c'est parce que le XML est mal formé, ou que le
Content-type n'est pas bon. Mais là, force est de constater qu'il semble
bien formé
<http://validator.w3.org/feed/check.cgi?url=http%3A%2F%2Fblog.webinventif.fr%2Fatom.php>.
Peut-être est-ce le Content-Type ? C'est le même dans les deux cas
(application/xhtml+xml), mais il me semble que le type devrait être
(text/xml), comme indiqué sur ce blog
<http://keelypavan.blogspot.com/2006/01/using-ajax.html> ou encore dans
la spécification
<http://www.atomenabled.org/developers/syndication/atom-format-spec.php#atom.documents>.
xml.responseXML.xml et les url (rss) http://www.codes-sources.com/rss.aspx?type=code ( et les autres ) : ça baigne, c'est bien le contenu renvoyé.
avec http://blog.webinventif.fr/atom.php (atom) : seul xml.responseText "répond". xml.responseXML est "vide"
Habituellement, c'est parce que le XML est mal formé, ou que le Content-type n'est pas bon. Mais là, force est de constater qu'il semble bien formé <http://validator.w3.org/feed/check.cgi?url=http%3A%2F%2Fblog.webinventif.fr%2Fatom.php>.
Peut-être est-ce le Content-Type ? C'est le même dans les deux cas (application/xhtml+xml), mais il me semble que le type devrait être (text/xml), comme indiqué sur ce blog <http://keelypavan.blogspot.com/2006/01/using-ajax.html> ou encore dans la spécification <http://www.atomenabled.org/developers/syndication/atom-format-spec.php#atom.documents>.
Peut-être est-ce le Content-Type ? C'est le même dans les deux cas (application/xhtml+xml), mais il me semble que le type devrait être (text/xml), comme indiqué sur ce blog si j'ajoute( déjà tenté )
xml.setRequestHeader("Content-type", "text/xml"); ou xml.setRequestHeader("Content-type", "application/xhtml+xml"); même punition... mais ce n'est peut-être pas ce que tu voulais dire...
Un bogue d'IE ? crotte de biques.
et à part me dire d'utiliser un autre navigateur ( mais je ne peux pas passer outre IE ! ), une solution, une idée pour contourner ?
Cordialement.
merci de ta réponse Mickaël
Peut-être est-ce le Content-Type ? C'est le même dans les deux cas
(application/xhtml+xml), mais il me semble que le type devrait être
(text/xml), comme indiqué sur ce blog
si j'ajoute( déjà tenté )
xml.setRequestHeader("Content-type", "text/xml"); ou
xml.setRequestHeader("Content-type", "application/xhtml+xml");
même punition... mais ce n'est peut-être pas ce que tu voulais dire...
Un bogue d'IE ?
crotte de biques.
et à part me dire d'utiliser un autre navigateur ( mais je ne peux
pas passer outre IE ! ), une solution, une idée pour contourner ?
Peut-être est-ce le Content-Type ? C'est le même dans les deux cas (application/xhtml+xml), mais il me semble que le type devrait être (text/xml), comme indiqué sur ce blog si j'ajoute( déjà tenté )
xml.setRequestHeader("Content-type", "text/xml"); ou xml.setRequestHeader("Content-type", "application/xhtml+xml"); même punition... mais ce n'est peut-être pas ce que tu voulais dire...
Un bogue d'IE ? crotte de biques.
et à part me dire d'utiliser un autre navigateur ( mais je ne peux pas passer outre IE ! ), une solution, une idée pour contourner ?
Cordialement.
Bul
finalement, je vais peut-être m'en sortir avec var xmlD = new ActiveXObject("Microsoft.XMLDOM"); qui semble fonctionner. dès que possible, je teste plus avant, voir si tout baigne, sinon... je reviendrais ! merci à vous.
finalement, je vais peut-être m'en sortir avec
var xmlD = new ActiveXObject("Microsoft.XMLDOM");
qui semble fonctionner.
dès que possible, je teste plus avant, voir si tout baigne,
sinon... je reviendrais !
merci à vous.
finalement, je vais peut-être m'en sortir avec var xmlD = new ActiveXObject("Microsoft.XMLDOM"); qui semble fonctionner. dès que possible, je teste plus avant, voir si tout baigne, sinon... je reviendrais ! merci à vous.
Bul
je me devais de confirmer que tout baigne :
<html> <body> <script type="text/javascript"> var xmlD = new ActiveXObject("Microsoft.XMLDOM"); xmlD.onreadystatechange = function () { if (xmlD.readyState == 4) { alert(xmlD.getElementsByTagName("title")[0].firstChild.nodeValue); } } // var url="http://logitheque.com/annuaire/divers/actu3.xml"; var url="http://blog.webinventif.fr/atom.php"; xmlD.load(url); </script> </body> </html>
ouf... j'ai eu peur. Cordialement.
je me devais de confirmer que tout baigne :
<html>
<body>
<script type="text/javascript">
var xmlD = new ActiveXObject("Microsoft.XMLDOM");
xmlD.onreadystatechange = function ()
{ if (xmlD.readyState == 4)
{ alert(xmlD.getElementsByTagName("title")[0].firstChild.nodeValue); }
}
// var url="http://logitheque.com/annuaire/divers/actu3.xml";
var url="http://blog.webinventif.fr/atom.php";
xmlD.load(url);
</script>
</body>
</html>
<html> <body> <script type="text/javascript"> var xmlD = new ActiveXObject("Microsoft.XMLDOM"); xmlD.onreadystatechange = function () { if (xmlD.readyState == 4) { alert(xmlD.getElementsByTagName("title")[0].firstChild.nodeValue); } } // var url="http://logitheque.com/annuaire/divers/actu3.xml"; var url="http://blog.webinventif.fr/atom.php"; xmlD.load(url); </script> </body> </html>
ouf... j'ai eu peur. Cordialement.
Mickaël Wolff
(text/xml), comme indiqué sur ce blog si j'ajoute( déjà tenté )
xml.setRequestHeader("Content-type", "text/xml"); ou xml.setRequestHeader("Content-type", "application/xhtml+xml"); même punition... mais ce n'est peut-être pas ce que tu voulais dire...
Ce n'est absolument pas ce que je voulais dire ;) XMLHTTPRequest::setRequestHeader est là pour décider du type mime du message HTTP que tu envoie. Ça ne détermine absolument pas ce que tu vas recevoir.
Un bogue d'IE ? crotte de biques.
et à part me dire d'utiliser un autre navigateur ( mais je ne peux pas passer outre IE ! ), une solution, une idée pour contourner ?
De toute façon tu ne pourras pas faire ça avec un Firefox facilement, car le crosssite-XHR (ça se dit ?) n'est pas autorisé par défaut pour des raisons de sécurité.
(text/xml), comme indiqué sur ce blog
si j'ajoute( déjà tenté )
xml.setRequestHeader("Content-type", "text/xml"); ou
xml.setRequestHeader("Content-type", "application/xhtml+xml");
même punition... mais ce n'est peut-être pas ce que tu voulais dire...
Ce n'est absolument pas ce que je voulais dire ;)
XMLHTTPRequest::setRequestHeader est là pour décider du type mime du
message HTTP que tu envoie. Ça ne détermine absolument pas ce que tu vas
recevoir.
Un bogue d'IE ?
crotte de biques.
et à part me dire d'utiliser un autre navigateur ( mais je ne peux
pas passer outre IE ! ), une solution, une idée pour contourner ?
De toute façon tu ne pourras pas faire ça avec un Firefox facilement,
car le crosssite-XHR (ça se dit ?) n'est pas autorisé par défaut pour
des raisons de sécurité.
(text/xml), comme indiqué sur ce blog si j'ajoute( déjà tenté )
xml.setRequestHeader("Content-type", "text/xml"); ou xml.setRequestHeader("Content-type", "application/xhtml+xml"); même punition... mais ce n'est peut-être pas ce que tu voulais dire...
Ce n'est absolument pas ce que je voulais dire ;) XMLHTTPRequest::setRequestHeader est là pour décider du type mime du message HTTP que tu envoie. Ça ne détermine absolument pas ce que tu vas recevoir.
Un bogue d'IE ? crotte de biques.
et à part me dire d'utiliser un autre navigateur ( mais je ne peux pas passer outre IE ! ), une solution, une idée pour contourner ?
De toute façon tu ne pourras pas faire ça avec un Firefox facilement, car le crosssite-XHR (ça se dit ?) n'est pas autorisé par défaut pour des raisons de sécurité.