AJAX jQuery.load против jQuery.get - PullRequest
       9

AJAX jQuery.load против jQuery.get

17 голосов
/ 07 августа 2009

Когда следует использовать метод load (url, data, callback) по сравнению с jQuery.get (url, data, callback, type) при выполнении вызовов AJAX с jQuery?

Ответы [ 4 ]

21 голосов
/ 07 августа 2009

Прежде всего, эти две функции совершенно разные. Функция «load» работает с селекторами и загружает результат вызова AJAX внутри выбранной группы, а обратный вызов должен обрабатывать событие «oncomplete» вызова; в то время как функция $ .get является более общей, и обратный вызов обрабатывает успешный ответ на вызов AJAX, где вы можете свободно определять любое поведение, которое вы хотите. И вы можете найти всю эту информацию, просто взглянув на документацию и спецификацию инфраструктуры jQuery.

Здесь Вы можете найти хорошую документацию.

16 голосов
/ 17 сентября 2012

@ В ответе Артема отсутствует тот факт, что load является более общей функцией, чем get. Согласно документам jQuery API загрузка использует get или post в зависимости от данных. Цитирую это здесь:

Способ запроса

Метод POST используется, если данные предоставляются в виде объекта; в противном случае предполагается GET.

Таким образом, для получения частичного HTML-контента с сервера и вставки его в DOM load является лучшим методом, чем get, поскольку разработчику не нужно беспокоиться об обработке огромных данных промежуточные шаги, которые выполняет функция загрузки перед извлечением и перед вставкой содержимого.

Например, если вам нужно загрузить частичное содержимое страницы, вы можете использовать следующее выражение: $('#result').load('ajax/test.html #container');

Получает содержимое ajax / test.html, но затем jQuery анализирует возвращенный документ, чтобы найти элемент с идентификатором container. Этот элемент вместе с его содержимым вставляется в элемент с идентификатором result, а остальная часть извлеченного документа отбрасывается.

Следует иметь в виду, что когда вам нужен запрос GET, избегайте предоставления объекта параметру данных и вместо этого используйте метод $.param, чтобы получить сериализованную форму параметров запроса.

8 голосов
/ 07 августа 2009

load вводит данные непосредственно в DOM. Если вам не нужно это поведение, используйте get.

0 голосов
/ 07 августа 2009

нужно будет только посмотреть на код jQuery, так как он доступен для просмотра. в любом случае все вызовы должны достигать одного и того же метода, но отвечать по-разному в зависимости от необходимости

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...