Это не имеет ничего , связанного с jQuery или любым изворотом кода скрипта на стороне клиента. Это проблема на стороне сервера : сервер (приложение на стороне) не отправляет ожидаемое значение заголовка HTTP Content-Type
для ресурса сценария на стороне клиента. Это происходит, если веб-сервер недостаточно настроен, неправильно настроен или приложение на стороне сервера (например, PHP) генерирует ресурс сценария на стороне клиента.
Подходящие типы мультимедиа MIME для реализаций ECMAScript, таких как JavaScript, включают:
text/javascript
(зарегистрирован как устарел , не устарел; но все еще действует , и поддерживается лучше )
text/ecmascript
(зарегистрирован как устарел , не устарел; но все еще действителен )
application/javascript
application/ecmascript
Они включают , а не , включают application/x-javascript
, так как перечисленные выше типы носителей MIME уже зарегистрированы в дереве стандартов (поэтому нет необходимости и не нужно использовать) экспериментальные больше). Ср RFC 4329, «Типы носителей со сценариями» (2005 CE) и мой тестовый пример : поддержка типов носителей со сценариями .
Одним из решений является настройка сервера, если это возможно, как уже рекомендовано. Для Apache это может быть так просто, как добавление директивы
AddType text/javascript .js
(подробности см. В документации Apache HTTP Server ).
Но если ресурс сценария на стороне клиента генерируется серверным приложением, таким как PHP, то необходимо явно установить значение поля заголовка Content-Type
, так как по умолчанию это вероятно text/html
:
<?php
header('Content-Type: text/javascript; charset=UTF-8');
// ...
?>
(эти и подобные операторы должны предшествовать любому другому выводу - см. руководство по PHP - иначе тело сообщения HTTP уже началось, и уже слишком поздно отправлять больше полей заголовка.)
Генерация на стороне сервера может легко произойти с ресурсом сценария на стороне клиента, даже если у вас есть простые файлы .js на сервере, если комментарии удаляются из них по мере их доставки, если они все упакованы в один большой ответ ( уменьшить количество запросов (что может быть более эффективным), либо они будут минимизированы серверным приложением любым другим способом.