#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." ); });
Комментариев нет:
Отправить комментарий