Я получаю сообщение об ошибке «неправильно сформированный» в консоли ошибок Firefox 3.0.7, когда JavaScript на моей странице загружает текстовый файл, содержащий объект в формате JavaScript Object Notation. Если файл не содержит ничего, кроме объекта JSON, возникает ошибка. Если я заключу объект в теги ‹document› ‹/document›, это не приведет к ошибке. В любом случае запрос выполняется успешно, поэтому я могу просто проигнорировать его, но я не хочу, чтобы мой журнал ошибок заполнялся этими сообщениями.
Вот пример кода, иллюстрирующий проблему. Во-первых, «некорректный» файл с именем «data.json»:
{ a: 3 }
Теперь немного кода для загрузки файла:
var req = new XMLHttpRequest();
req.open("GET", "data.json");
req.send(null);
Это вызывает следующую ошибку в консоли ошибок Firefox:
неверно сформированный
file: //path/to/data.json Строка: 1
{a: 3}
- ^
Если data.json изменен на это:
<document>{ a: 3 }</document>
Ошибки нет. Я предположил, что он жалуется, потому что простой файл JSON не является правильно сформированным XML-документом, поэтому я попытался переопределить тип MIME перед вызовом send, чтобы заставить его загружаться как простой текст, но это не сработало.
var req = new XMLHttpRequest();
req.open("GET", "data.json");
req.overrideMimeType("text/plain");
req.send(null);
// Still produces an error!
Я собираюсь продолжить упаковывать свои данные JSON в XML-документ, чтобы обойти любую проверку, которую выполняет XMLHttpRequest, но я хотел бы знать, есть ли способ заставить его просто некритично загружать простой текст и не пытаться подтвердите это. В качестве альтернативы, есть ли другой метод загрузки данных, помимо XMLHttpRequest, который можно использовать с обычным текстом?