$ (document).ready(функция() не работает

Вопрос:Я использую JQuery для получения json-объекта с сервера solr. Когда я запускаю свой html файл с Tomcat, он отлично работает, но когда я вставляю его в свой проект, который работает в weblogic, он получает эту ошибку: (отладка выполняется через firebug) $ is not defined $(document).ready(function(){ Почему я получаю эту ошибку, когда я вставляю ее в

Вопрос:

Я использую JQuery для получения json-объекта с сервера solr. Когда я запускаю свой html файл с Tomcat, он отлично работает, но когда я вставляю его в свой проект, который работает в weblogic, он получает эту ошибку: (отладка выполняется через firebug)

$ is not defined $(document).ready(function(){

Почему я получаю эту ошибку, когда я вставляю ее в свой проект?

Это содержимое моего тега <head>. Вот как я включаю jquery.js:

<head> <title>Search Result </title> <style> img{ height: 150px; float: left; border: 3;} div{font-size:10pt; margin-right:150px; margin-left:150px; } </style> <script type=»text/javascript» src=»jquery-1.6.1.js»></script> <script type=»text/javascript»> $(document).ready(function(){ //Error happens here, $ is not defined. }); </script> </head> Лучший ответ:

Вы загрузили jQuery в разделе head? Вы правильно загрузили его?

<head> <script src=»scripts/jquery.js»></script> … </head>

Этот код предполагает, что jquery.js находится в каталоге scripts. (Вы можете изменить имя файла, если хотите)

Вы также можете использовать jQuery размещенный Google:

<head> <script src=»https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js»></script> … </head>

Согласно вашему комментарию:

По-видимому, ваш веб-сервер не настроен на возврат jQuery-1.6.1.js при запросе /webProject/jquery-1.6.1.js. Для этого может быть множество причин, таких как неправильное имя файла, имя папки, параметры маршрутизации и т.д. Вам нужно создать другой вопрос и описать ваш 404 более подробно (например, имя локального файла, операционную систему, имя веб-сервера и настройки).

Опять же, вы можете использовать jQuery, как указано в Google (см. выше), однако вы все равно можете узнать, почему некоторые локальные файлы не получают по запросу.

Ответ №1

Я нашел, что нам нужно иногда использовать noConflict:

jQuery.noConflict()(function ($) { // this was missing for me $(document).ready(function() { other code here…. }); });

Из документов:

Многие библиотеки JavaScript используют $как имя функции или переменной, как это делает jQuery. В случае jQuery $ является просто псевдонимом для jQuery, поэтому вся функциональность доступна без использования $. Если вам нужно использовать другую библиотеку JavaScript вместе с jQuery, верните элемент управления $ обратно в другую библиотеку с вызовом $.noConflict(). Старые ссылки $ сохраняются во время инициализации jQuery; noConflict() просто восстанавливает их.

Ответ №2

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

Кроме того, в отдельной заметке вы можете использовать $(function(){ как сокращенное обозначение $(document).ready(function(){

Ответ №3

Если у вас есть js файл, который ссылается на jquery, это может быть связано с тем, что файл js находится в теле, а не в главном разделе (это была моя проблема). Вы должны перенести свой файл js в раздел главы ПОСЛЕ ссылки jquery.js.

<html> <head> <script src=»https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.js»></script> <script src=»myfile.js» type=»text/javascript»></script> </head> <body> </body> </html> Ответ №4

см. для вашего пути js, который может быть причиной… потому что вы получите эту ошибку только в том случае, если jQuery неправильно загружен.

Ответ №5

У меня такая же проблема… на http://www.xaluan.com.. но после журнала. Я узнаю, что после запуска jQuery я создаю функцию, используя один элемент id, который не существует.

Например:

$(‘#aaa’).remove() <span class=»aaa»>sss</spam>

поэтому id=»aaa» не существовало.. тогда jQuery перестает работать.. потому что такие ошибки

Ответ №6

Использование:

jQuery(document).ready(function($){ // code where you can use $ thanks to the parameter });

Или его более короткая версия:

jQuery(function($){ // code where you can use $ thanks to the parameter }); Ответ №7

У меня была эта проблема, и из-за меня я пытался включить jQuery через http, пока моя страница была загружена как https.

Ответ №8

У меня была такая же проблема в Chrome, где мои скрипты были такими:

<script src=»./scripts/jquery-1.12.3.min.js»></script> <script src=»./scripts/ol-3.15.1/ol.js» /> <script> … $(document).ready(function() { … }); … </script>

Когда я изменил на:

<script src=»./scripts/jquery-1.12.3.min.js»></script> <script src=»./scripts/ol-3.15.1/ol.js»></script>

$(document).ready был вызван.

Оцените статью
Добавить комментарий