Что означает сообщение об ошибке Firebug "XML не может быть целой программой"?

Я только что получил это сообщение об ошибке в Firebug. Поиск в Google не показывает ничего, кроме других загадочных людей! Кто-нибудь знает, что это значит?

Это указано в последней строке этого трехстрочного скрипта:

<script>
    g_BuildServer = "/";
</script>

7 ответов

Решение

Если вы поместили JavaScript в файл js (что, как я полагаю, вы сделали), НЕ ставьте теги script, ставьте

g_BuildServer = "/";

только.

В противном случае парсеру вы предоставили XML-документ в виде скрипта.

Я получил эту ошибку при использовании jquery $get без атрибута типа данных при получении html. Я добавил параметр dataType как "html", и это устранило проблему.

Со мной тоже случилось, просто за то, что на странице был пустой тег скрипта. Когда я удалил это:

<script src="" type="text/javascript"></script>

все пришло в норму..

Я получил ошибку "XML не может быть всей программой", потому что сервер возвращал сообщение об ошибке xml в ответ на запрос файла javascript. Мой случай может быть необычным, но вот он:

У меня был сервлет-фильтр, предоставляющий или запрещающий доступ к ресурсам сервера. Если он предоставляет доступ, вы получаете ресурс, в противном случае вы получаете <filterResponse><Access_Denied/></filterResponse>, Мне не удалось добавить файл javascript в список ресурсов, к которым вам не нужно входить, чтобы получить доступ. Таким образом, когда Firefox получил сообщение об ошибке XML в качестве тела javascript-программы, его жалоба имеет смысл.

Это также происходит, когда вы используете плагин шаблона jQuery и помещаете разметку в тег скрипта, но забыли изменить атрибут типа тега скрипта на "text/x-jquery-tmpl"

Я столкнулся с этой ошибкой, когда у меня был комментарий в моем javascript, но он не начинался с /*, он просто имел несколько *, следовательно, создавал синтаксическую ошибку

Также вы можете получить эту ошибку при использовании jQuery. В этом случае замените "$" на "jQuery"

Другие вопросы по тегам