jQuery работает на локальном хосте, но не на веб-сайте

Используя Notepad++ и XAMPP для тестирования материала, я загружаю его на веб-сайт по FTP. В голове моего кода у меня есть это для вызова jQuery и скрипта:

 <script type="text/javascript" src="/jquery.js"></script>
 <script type="text/javascript" src="/portfolio.js"></script>

и он отлично работает локально на моем сервере XAMPP. Но как только он загружается на хост, он выдает эту ошибку:

Resource interpreted as script but transferred with MIME type text/html.

Не уверен, что происходит, или почему ему трудно использовать jQuery. Любые идеи?


person JoeCortopassi    schedule 05.05.2010    source источник
comment
Разобрался, смотрите мой ответ ниже   -  person JoeCortopassi    schedule 05.05.2010


Ответы (4)


Это вообще не относится к jQuery. Когда вы загружаете свою страницу с сервера, на веб-сервер отправляется запрос на загрузку /jquery.js. В ответе сервера есть HTTP-заголовок, который дает клиенту подсказку о типе файла. Это называется заголовком Content-Type. В приведенном выше сообщении об ошибке говорится, что сервер сообщает (неверно), что /jquery.js имеет тип text/html, а это не так.

Вы должны изменить конфигурацию удаленного веб-сервера, чтобы файлы с расширением .js правильно отображались как имеющие application/x-javascript в качестве типа MIME вместо text/html. Это можно сделать с помощью следующей директивы в файле конфигурации Apache:

AddType application/x-javascript .js

Однако я не уверен, почему ваш другой файл .js работает. В любом случае, если вы не можете изменить конфигурацию веб-сервера по какой-либо причине, вы можете попробовать использовать размещенную на внешнем сервере копию jQuery вместо этого.

Также могло случиться так, что вы столкнулись с ошибкой в ​​WebKit/Safari, если используете Safari в Mac OS X. См. этот связанный вопрос.

person Tamás    schedule 05.05.2010
comment
Итак, что мне делать, чтобы исправить это? Файл Portfolio.js загружается нормально - person JoeCortopassi; 05.05.2010

Оказывается, все испортило имя файла «jQuery.js». Локально заглавная буква «U» не была проблемой, но на сервере это привело к ее поломке. Я даже не знал, что так бывает :-/

person JoeCortopassi    schedule 05.05.2010
comment
Если бы вы разрабатывали в Windows и развертывали в Linux, в игру вступала бы чувствительность к регистру. - person patricksweeney; 10.04.2014

Это означает, что ваш сервер не настроен на использование правильного типа содержимого для файлов js. Он отправляет их как text/html вместо text/javascript. Возможно, сервер неправильно настроен.

person Vonder    schedule 05.05.2010

Почему бы не использовать версию, размещенную в Google, которую многие люди, вероятно, уже кэшировали, и она всегда обновляется и т. Д.

http://code.google.com/apis/ajaxlibs/

person Zac    schedule 05.05.2010