2009-11-19 2 views
0

Je suis nouveau sur ce site, mais il semble que quelqu'un devrait être capable de répondre à ma question.Le traitement XML de jQuery ne fonctionne pas localement dans Safari 4.0.4

J'ai récemment commencé à utiliser jQuery, et j'ai passé la journée à claquer la tête contre le bureau en essayant d'analyser avec succès un fichier XML et d'ajouter le texte à un div. Après avoir échoué dans Safari, je suis passé à Firefox et j'ai trouvé que ça fonctionnait parfaitement! De plus, lorsque j'ai chargé les fichiers sur mon serveur et que j'ai chargé la même page dans Safari, ça marche bien aussi! Il semble que Safari ait du mal à analyser un fichier XML local. Quelqu'un at-il vécu cela et a-t-il une explication ou une solution? Voici mon code:

$(document).ready(function(){ 
    $.get('datafile.xml',{},function(data){ 
    $(data).find('item').each(function(){ 
     var dataHolder = ($(this).find('title').text()); 
     $('#textBox').append(dataHolder + "<br />"); 
    }); 
    }); 
}); 

Encore une fois, cela fonctionne parfaitement à la fois localement et à distance dans Firefox et fonctionne également dans Safari à distance. Localement, Safari ne fonctionne pas.

Si quelqu'un veut aussi voir le fichier HTML, faites le moi savoir. C'est assez simple. Juste une div avec un identifiant de textBox. Le fichier XML est également. Juste une liste d'articles et de titres.

Merci mille fois d'avance à tous ceux qui peuvent m'aider avec ça!

Répondre

0

Quelle réponse obtenez-vous du serveur lorsque vous faites votre demande GET? Si vous utilisez $ .ajax et spécifiez un gestionnaire d'erreur, le gestionnaire d'erreurs est-il appelé? Il semblerait que vous utilisiez la protection XSS, mais je ne vois pas comment le local pourrait échouer.

Si cela est le problème, il n'y a pas de solution de rechange mis à part l'exécution locale du conteneur Apache/web et le service du fichier xml et du fichier html avec javascript à la fois du conteneur Web.

+0

Stefan, Il est intéressant de noter que le passage à $ .ajax semble avoir résolu le problème. Je l'ai fait à l'origine en supposant que ce serait une erreur, mais pour une raison quelconque, $ .ajax semble fonctionner où $ .get ne fonctionne pas. Une idée pourquoi? En tout cas, merci pour l'aide! – Travmatron86

+0

... pas de problème, je suppose. : P Je n'ai aucune idée de ce que l'on pourrait faire par rapport à l'autre. J'ai seulement supposé que le message d'erreur aurait trouvé quelque chose d'utile. –

Questions connexes