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

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

Ответы

Ответ 1

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

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

Ответ 2

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

Метод запроса

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

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

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

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

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

Ответ 3

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

Ответ 4

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