Этот пример

<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script>
<div id="test"></div>
<script>
$(document).ready(() => {
  $('#test').load('doesntmatter');
});
</script>

Мне показалось, что он идентичен примерам для функции загрузки ajax. Как показывает фрагмент кода, на самом деле

Uncaught TypeError: $(...).load is not a function

Что я делаю не так?

25
Guillaume CR 1 Сен 2017 в 18:43

7 ответов

Лучший ответ

https://code.jquery.com/jquery-3.2.1.slim .min.js - это тонкая версия jquery, в которую не входит ajax. slim - версия по умолчанию, включенная в сервер Express. Используйте полную версию jquery по адресу https://code.jquery.com/jquery- 3.2.1.min.js

64
Guillaume CR 1 Сен 2017 в 16:25

Неправильный формат JQuery:

$(document).ready(function() {
        $('#test').load('doesntmatter');
    });

Затем добавьте имя страницы в вашем каталоге или что-то подобное в параметры загрузки

  • Также убедитесь, что ваш скрипт является самой новой функциональной версией
0
clearshot66 1 Сен 2017 в 16:22

Вот скриншот загрузок jquery со страницы загрузки jquery (https://jquery.com/download/)
Эту линию легко НЕ заметить.
Поскольку многие люди используют jquery ajax, возможно, им следует переименовать файл как jquery-slim-no-ajax.js

enter image description here

3
Dexter 13 Ноя 2019 в 10:50

Вот хороший совет, у меня была такая же проблема с функцией jquery .load и другими функциями, которые не загружаются, поэтому убедитесь, что вы используете один и тот же путь jquery на каждой странице (та же версия), и он будет работать отлично.

0
Elvis Esam 8 Авг 2020 в 16:35

Прежде всего, убедитесь, что вы не включили библиотеку jquery после кода js ! Особенно будьте осторожны, если вы используете бутстрап !

У меня была проблема - я не видел часть кода начальной загрузки в footer.php , в которой была другая библиотека jquery, - которая вызвала проблему.

1
Shreyder 12 Окт 2019 в 08:15

Попробуйте не использовать JQuery для этого:

Это обеспечит загрузку JQuery перед его использованием.

window.addEventListener("load", function(event) {
  $('#preloader').delay(400).fadeOut(500);
  // Do what you want, the window is entirely loaded and ready to use.
});

Событие load вызывается после загрузки всей страницы, включая все зависимые ресурсы, такие как изображения таблиц стилей. Это отличается от DOMContentLoaded, который запускается сразу после загрузки DOM страницы, не дожидаясь окончания загрузки ресурсов.

Документация Mozilla: событие загрузки

Изменить: в соответствии с вопросом не путать window.loaded и jquery.load

Сначала измените jquery.slim на jquery , как и в предыдущем ответе.

Во-вторых, используйте встроенный обработчик событий для лучшей практики (на мой взгляд) с современными браузерами.

// To be sure $ is defined
// Window loaded event
window.addEventListener("load", function(event) {

  // Now $ or JQuery is completly available
  // Now using JQuery.load() should be defined
  $('#test').load('doesntmatter');

  // Do what you want, the window is entirely loaded and ready to use.
});
0
Shim-Sao 6 Май 2019 в 09:01

Пожалуйста, попробуйте это

$(document).ready(function(){
    $("button").click(function(){
       $("#div1").load("demo_test.txt #p1"); 
    });
});
0
Manoher Kumar 15 Мар 2019 в 05:28