|
|
|
#1 (permalink) |
|
Messages: n/a
Hébergeur: |
bonjour à toutes et à tous, 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" merci d'avance. |
|
|
|
#2 (permalink) |
|
Messages: n/a
Hébergeur: |
Bul a écrit :
> 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%2Fa tom.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>. Un bogue d'IE ? -- Mickaël Wolff aka Lupus Michaelis http://lupusmic.org |
|
|
|
#3 (permalink) |
|
Messages: n/a
Hébergeur: |
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 ? Cordialement. |
|
|
|
#4 (permalink) |
|
Messages: n/a
Hébergeur: |
Bul a écrit :
>> (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é. Bon courage. -- Mickaël Wolff aka Lupus Michaelis http://lupusmic.org |
|
|
|
#5 (permalink) |
|
Messages: n/a
Hébergeur: |
j'ai du faire une fausse manip : je ne vois pas mon dernier message... où je disais "résolu" <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> >>De toute façon tu ne pourras pas faire ça avec un Firefox facilement, j'ai remarqué... >>pour des raisons de sécurité. bof... pas convaincu par l'argument ! c'est une application locale, et j'ai mis l'application ici : http://www.javascriptfr.com/codes/UT...RSS_43691.aspx ================================================== m'écrire : http://mas.keo.in/?Bul [Mail Anti Spam] ================================================== |
|
![]() |
| Outils de la discussion | |
|
|