jquery.load () это сокращение для чего? - PullRequest
1 голос
/ 10 января 2011

Я просматривал документы jQuery, и это указывает, что .load является сокращенным методом , но не объясняет, что это за функция.* Например, .get(url, [data], [callback(data, textStatus, XMLHttpRequest)], [dataType]) является сокращением для:

 $.ajax({
   url: url,
   data: data,
   success: success,
   dataType: dataType
 });

И это полностью объяснено в документации, но .load () делает что-то несколько иное, и это просто кажется выбросом соглашения.get, .getJSON, .getScript и .post, которые аналогичны приведенному выше примеру.

Что такое сокращение от .load для?

Ответы [ 3 ]

4 голосов
/ 10 января 2011
$('#result').load('ajax/test.html', function(data, textStatus, xhr) {
  alert('Load was performed.');
});

является сокращением для

if($('#result').length) {
  $.get('ajax/test.html', {}, function(data, textStatus, xhr) {
    if(textStatus=="success" || textStatus=="notmodified") {
      $('#result').html(data);
    }
    alert('Load was performed.');
  });
}

Вы можете увидеть, что именно .load () делает, проверив исходный код здесь: http://code.jquery.com/jquery-latest.js (это около строки 5585).

Примечание: Вы можете передать селектор после вашего URL (вы должны разделить его пробелом). Если вы сделаете это, в ваш документ будет вставлен не весь ответ, а только часть целевого документа, выбранная этим селектором.

1 голос
/ 10 января 2011

.load() использует метод .get() и делает еще один шаг, автоматически заполняя указанную коллекцию DOM содержимым успешного запроса AJAX.

По сути, вместо того, чтобы писать это:

$.get(url, function(data, ts, xhr) {
   $("#someElement").html(data);
});

Вы можете просто написать это:

$("#someElement").load(url);
0 голосов
/ 10 января 2011

Этот метод является самым простым способом получить данные с сервера. это примерно эквивалентно $ .get (url, data, успех) кроме того, что это метод а не глобальная функция и имеет неявная функция обратного вызова. Когда обнаружен успешный ответ (т.е. когда textStatus "успех" или "notmodified"), .load () устанавливает HTML содержимое сопоставленного элемента к возвращенные данные.

Из руководства .

...