Metoda load() jQuery

Przykład

Zmiana tekstu elementu div za pomocą żądania AJAX:

$("button").click(function(){
  $("div").load('demo_ajax_load.txt');
});

Spróbuj sam

Więcej przykładów TIY można znaleźć na dole strony.

definicja i użycie

metoda load() ładuje dane z serwera za pomocą żądania AJAX i umieszcza zwrócone dane w określonym elemencie.

Komentarz:istnieje również nazwa load jQuery zdarzeniemetoda. Wybór zależy od parametrów.

gramatyka

load(url,data,funkcja(response,status,xhr))
parametry opis
url Określa, do której URL ma być wysłane żądanie.
data Opcjonalne. Dane, które są wysyłane do serwera wraz z żądaniem.
function(response,status,xhr)

Opcjonalne. Funkcja, która jest uruchamiana po zakończeniu żądania.

Dodatkowe parametry:

  • response - Zawiera wynik danych z żądania
  • status - Zawiera stan żądania ("success", "notmodified", "error", "timeout", "parsererror")
  • xhr - Zawiera obiekt XMLHttpRequest

Szczegółowe wyjaśnienie

Ta metoda jest najprostszym sposobem pobierania danych z serwera. Jest prawie równoważna z $.get(url, data, success), różni się tym, że nie jest funkcją globalną i ma ukryty funkcja zwrotna. Gdy wykrywa pomyślną odpowiedź (np. gdy textStatus wynosi "success" lub "notmodified"), .load() ustawia zawartość HTML elementu na zwróconych danych. Oznacza to, że większość użycia tej metody będzie bardzo prosta:

$("#result").load("ajax/test.html");

Jeśli dostarczony jest funkcja zwrotna, zostanie ona wykonana po wykonaniu post-processing:

$("#result").load("ajax/test.html", function() {
  alert("Wczytanie zostało wykonane.");
});

W powyższych dwóch przykładach, jeśli bieżący dokument nie zawiera ID "result", metoda .load() nie zostanie wykonana.

Jeśli dostarczone dane są obiektem, używa się metody POST; w przeciwnym razie używa się metody GET.

Ładowanie części strony

Metoda .load(), w przeciwieństwie do $.get(), pozwala określić część zdalnego dokumentu do wstawienia. To jest realizowane przez specjalny语法 w parametrze url. Jeśli ciąg znaków zawiera jedną lub więcej spacji, ciąg znaków po pierwszej spacji jest jQuery selektorem, który określa ładunek do załadowania.

Możemy zmodyfikować powyższy przykład, aby użyć części uzyskanego dokumentu:

$("#result").load("ajax/test.html #container");

Jeśli wykonuje się ta metoda, zwróci treść pliku ajax/test.html, ale potem jQuery przeanalizuje zwrócony dokument, aby znaleźć elementy z ID kontenera. Ten element, wraz z jego treścią, zostanie wstawiony do elementu z ID wyniku, reszta zwróconego dokumentu zostanie odrzucona.

jQuery używa właściwości .innerHTML przeglądarki do analizowania zwróconego dokumentu i wstawiania go do bieżącego dokumentu. W tym procesie przeglądarka często filtruje elementy z dokumentu, takie jak elementy <html>, <title> lub <head>. W rezultacie, elementy pobrane za pomocą .load() mogą różnić się od dokumentu pobranego bezpośrednio przez przeglądarkę.

Komentarz:Z powodu ograniczeń bezpieczeństwa przeglądarki, większość żądań "Ajax" przestrzega polityki samego źródła; żądania nie mogą pomyślnie pobrać danych z różnych domen, pod domen lub protokołów.

Więcej przykładów

Przykład 1

Załaduj zawartość pliku feeds.html:

$("#feeds").load("feeds.html");

Przykład 2

Podobnie jak powyższy przykład, ale wysyłając dodatkowe parametry w formacie POST i wyświetlając informację na sukcesie:

$("#feeds").load("feeds.php", {limit: 25}, function(){
  alert("Ostatnie 25 wpisów w kanale zostały załadowane");
});

Przykład 3

Załaduj część nawigacji bocznej artykułu do listy nieuporządkowanej:

Kod HTML:

<b>Linki jQuery:</b>
<ul id="links"></ul>

Kod jQuery:

$("#links").load("/Main_Page #p-Getting-Started li");

Więcej przykładów TIY

Tworzenie żądań AJAX i wysyłanie danych za pomocą tego żądania
Jak używać parametrów danych do wysyłania danych za pomocą żądań AJAX. (Ten przykład został wyjaśniony w lekcji AJAX.)
Tworzenie żądań AJAX i użycie funkcji zwrotnych
Jak używać parametrów funkcji do przetwarzania wyników danych z żądań AJAX.
Tworzenie żądań AJAX z błędami
Jak używać parametrów funkcji do przetwarzania błędów w żądaniach AJAX (używając parametrów XMLHttpRequest).