Je suis un "pas bien formé" erreur dans la console d'erreur de Firefox 3.0.7 lorsque le JavaScript sur ma page charge un fichier texte contenant un objet en JavaScript Object Notation format. Si le fichier ne contient rien, mais l'objet JSON, il produit l'erreur. Si j'envelopper l'objet de <document></document> des balises à ne pas produire de l'erreur. La demande réussit de toute façon, je pouvais l'ignorer, mais je ne veux pas que mon journal d'erreur de remplissage avec ces messages.
Voici un exemple de code pour illustrer le problème. Tout d'abord, le "pas bien formé" fichier appelé "les données.json":
{ a: 3 }
Maintenant un peu de code pour charger le fichier:
var req = new XMLHttpRequest();
req.open("GET", "data.json");
req.send(null);
Qui produit l'erreur suivante dans la console d'erreur de Firefox:
pas bien formé
file://chemin/vers/de données.json Ligne: 1
{ a: 3 }
- ^
Si les données.json est modifié de façon à ce:
<document>{ a: 3 }</document>
Il n'y a pas d'erreur. Je suppose que c'est de se plaindre car la plaine du fichier JSON n'est pas un document XML bien formé, j'ai donc essayé de substitution de la type MIME avant de les "envoyer" appel pour le forcer à charger en tant que texte brut, mais cela ne fonctionne pas.
var req = new XMLHttpRequest();
req.open("GET", "data.json");
req.overrideMimeType("text/plain");
req.send(null);
// Still produces an error!
Je vais continuer avec du papier d'emballage de mes données JSON dans un document XML à obtenir en fonction de ce que la validation de la XMLHttpRequest est l'interprétation, mais j'aimerais savoir si il y a moyen que je puisse le forcer à charger en texte brut sans esprit critique, et de ne pas essayer de le valider. Sinon, est-il une autre méthode de chargement de données en plus de XMLHttpRequest qui peut être utilisé avec texte en clair?