Je construis une seule page HTML pour une utilisation dans un kiosque à écran tactile. J'ai un fichier XML externe nommé data.xml
qui réside dans le même répertoire que ma page HTML. J'ai été capable d'utiliser jQuery pour charger le fichier XML externe, l'analyser et construire du HTML de façon dynamique sur le chargement de la page sans aucun problème dans Firefox et Chrome. Mais ensuite je l'ai essayé dans Internet Explorer ...Comment interroger des éléments XML à partir d'un fichier XML local dans Internet Explorer à l'aide de jQuery?
Le document XML se charge très bien en utilisant la fonction $ .ajax(). J'ai fait un alert(xmlDoc.text())
et il a montré tout le contenu du texte du document XML. Donc ce n'est pas le problème.
J'ai fait quelques recherches et trouvé a StackOverflow answer qui donne une solution au problème SI vous servez le XML à partir d'un serveur Web. Il indique essentiellement que l'en-tête HTTP suivant est nécessaire pour qu'Internet Explorer traite la chaîne xml en tant que xml.
content-type:application/xml;charset=utf-8
Cette page HTML doit fonctionner comme une page autonome dans Internet Explorer. Nous n'aurons pas de serveur Web en cours d'exécution sur la machine à kiosque.
Ma question est de savoir s'il existe un moyen de spécifier le bon type de contenu lors du chargement d'une ressource locale dans jQuery?
Voici le code ajax pertinent Je travaille avec ...
$.ajax({
url: 'data.xml',
async : false,
success : function(response) {
xml = $(response);
}
});
// Following line works in Firefox/Chrome, but not in Internet Explorer
var firstItemText = $("item:first", xml).text();
EDIT: J'ai ajouté une fonction de gestion des erreurs sur la demande ajax comme si ...
$.ajax({
url: 'data.xml',
async : false,
dataType : "xml",
success : function(response) {
xml = $(response);
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert('Data Could Not Be Loaded - '+ textStatus);
}
});
Cette fonction est déclenchée dans Internet Explorer et le message résultant est:
Data Could Not Be Loaded: - parsererror
J'ai vérifié mon document XML avec plusieurs outils de validation XML en ligne et il n'y a pas d'erreur.
Toute aide est appréciée.
Qui a frappé le clou sur la tête! Merci Philipe! – jessegavin