Страницы

Поиск по вопросам

четверг, 9 января 2020 г.

Выбор между .load и $.get

#jquery #ajax


На странице есть меню с кнопками, при нажатии на которые должен подгружаться контент
из php-файлов и вставляться в соответствующие дивы. Страница статичная, без CMS.
Подскажите какой из 2х описаных в заголовке вариантов подойдет для этого лучше всего?
Какая между ними разница?
    


Ответы

Ответ 1



должен подгружаться контент из php-файлов и вставляться в соответствующие дивы Это практически описание работы функции .load Поэтому в данном случае стоит использовать ее. $.get делает только GET запрос. В то же время, .load в зависимости от параметров может делать запрос любого типа и даже выбирать конкретный элемент из результата, который надо вставить на страницу. Для это нужно указать в параметре url нужный селектор через пробел. elements.load('site/url/ #element') Приведенный код вставит только содержимое элемента с id=element а не всю загруженную разметку. Разница так же заключается в возвращаемом значении: $.get возвращает Deferred (реализация Promise), в то время как .load возвращает текущую коллекцию, что позволяет продолжить с ней работать.

Ответ 2



Если не углубляться в подробности, то разница только в том, что $(selector).load(url) загружает данные по url прямо в $(selector), а для $.get({...}) надо писать обработчик. Используйте первый вариант, если он вас удовлетворяет, но если же вам надо отловить событие загрузки - используйте $.get() UPDATE: В .load() также есть возможность подключить callback функцию при успешном завершении загрузки: .load( url [, data ] [, complete ] ) Пример: $( "#result" ).load( "ajax/test.html", function() { alert( "Load was performed." ); });

Комментариев нет:

Отправить комментарий