Я получаю сообщение об ошибке "неправильно сформировано" в консоли ошибок 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 перед вызовом "отправить", чтобы заставить его загружать как обычный текст, но это не сработало.
var req = new XMLHttpRequest();
req.open("GET", "data.json");
req.overrideMimeType("text/plain");
req.send(null);
// Still produces an error!
Я собираюсь продолжить перенос данных JSON в XML-документ, чтобы обойти все проверки, которые выполняет XMLHttpRequest, но я хотел бы знать, есть ли какой-либо способ заставить его просто загружать текст некритически и не пытайтесь его проверить. Кроме того, существует ли другой способ загрузки данных помимо XMLHttpRequest, который может использоваться с открытым текстом?