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, поскольку он доступен для просмотра.
в любом случае все вызовы должны соответствовать одному и тому же методу, но реагировать по-разному в зависимости от необходимости.