JQuery AJAX загрузки не является функцией
Этот пример
<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
Что я делаю неправильно?
Ответы
Ответ 1
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.
Ответ 2
Пожалуйста, попробуйте это
$(document).ready(function(){
$("button").click(function(){
$("#div1").load("demo_test.txt #p1");
});
});
Ответ 3
Формат JQuery неверен:
$(document).ready(function() {
$('#test').load('doesntmatter');
});
затем добавьте имя страницы в свой каталог или в параметры загрузки
- Также убедитесь, что ваш скрипт является новейшей функциональной версией
Ответ 4
Постарайтесь не использовать 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.
});
Ответ 5
Прежде всего, убедитесь, что вы не включили библиотеку jquery после кода js !
Особенно будьте осторожны, если вы используете загрузчик!
У меня была проблема - я не увидел часть кода начальной загрузки в файле footer.php, в котором была другая библиотека jquery, - который вызвал проблему.
Ответ 6
Метод загрузки не рекомендуется после 1.8 В для справки: - http://api.jquery.com/load-event/
Устаревший метод: -
jQuery(window).load(function() {
$("#loader").fadeOut("slow");
});
Заменено методом: -
jQuery(window).on("load", function() {
$("#loader").fadeOut("slow");
});