jQuery ajax - load() metod

Exempel

Använd AJAX-forespårgningar för att ändra texten i div-elementet:

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

Prova själv

Du kan hitta fler TIY-exempel längre ner på sidan

Definition och användning

load() metoden laddar data från servern via AJAX-forespårgningar och lägger tillbaka de återkommande data till den angivna elementen.

Kommentar:finns det också en metod som heter load jQuery händelsemetod. Vilken som ska anropas beror på parametrarna.

syntaks

load(url,data,function(response,status,xhr))
parametrar beskrivning
url Anger vilken URL som förfrågan ska skickas till.
data Valfritt. Anger data som skickas till servern tillsammans med förfrågan.
function(response,status,xhr)

Valfritt. Anger vilken funktion som ska köras när förfrågan är klar.

Ytterligare parametrar:

  • response - Innehåller resultatdata från förfrågan
  • status - Innehåller statusen för förfrågan ("success", "notmodified", "error", "timeout" eller "parsererror")
  • xhr - Innehåller XMLHttpRequest-objektet

Detaljerad förklaring

Denna metod är den enklaste metoden att hämta data från servern. Den är nästan lika med $.get(url, data, success), men den är inte en global funktion och har en implicit callback-funktion. När en framgångsrik respons upptäcks (t.ex. när textStatus är "success" eller "notmodified"), sätts HTML-innehållet för elementet att matcha de återkommande data. Detta innebär att de flesta användningarna av denna metod kommer att vara mycket enkla:

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

Om en callback-funktion tillhandahålls, kommer denna funktion att köras efter post-processing:

$("#result").load("ajax/test.html", function() {
  alert("Load was performed.");
});

I de två tidigare exemplen kommer .load() metoden inte att utföras om den aktuella dokumentet inte innehåller "result" ID.

Om de tillhandahållna data är ett objekt, används POST-metoden; annars används GET-metoden.

Ladda sidostücke

.load() metoden, annorlunda än $.get(), tillåter oss att specificera en del av den fjärrdokument som ska infogas. Detta genomförs genom en specialgrammatik för url-parametern. Om denna sträng innehåller en eller flera blanksteg, är strängen som följer det första blanksteget den jQuery-väljare som bestämmer det innehåll som laddas in.

Vi kan modifiera det ovanstående exemplet så att vi kan använda en del av det erhållna dokumentet:

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

Om metoden körs, kommer innehållet från ajax/test.html att hämtas tillbaka, men sedan kommer jQuery att analysera den återkommande dokumentet för att hitta element med behållare-ID. Detta element, tillsammans med dess innehåll, kommer att infogas i elementet med resultat-ID, resten av den hämtade dokumenten kommer att kastas bort.

jQuery använder webbläsarens .innerHTML-attribut för att tolka det hämtade dokumentet och lägga till det i det aktuella dokumentet. Under detta process kan webbläsaren filtrera bort element, såsom <html>, <title> eller <head>-element. Som ett resultat kan elementen som hämtas med .load() inte vara helt identiska med dokumentet som hämtas direkt av webbläsaren.

Kommentar:På grund av säkerhetsbegränsningar i webbläsare, följer de flesta "Ajax"-forespåringar samma källa-strategi; förfrågningar kan inte lyckas hämta data från olika domäner, underdomäner eller protokoll.

Mer exempel

Exempel 1

Ladda innehållet i filen feeds.html:

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

Exempel 2

Liknande som ovan, men skicka extra parametrar i POST-format och visa information vid framgång:

$("#feeds").load("feeds.php", {limit: 25}, function(){
  alert("De senaste 25 inläggen i flödet har laddats");
});

Exempel 3

Ladda navigeringsdelen av artikeln till en icke-punktlistor:

HTML-kod:

<b>jQuery Länkar:</b>
<ul id="links"></ul>

jQuery-kod:

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

Mer TIY-exempel

Skapa en AJAX-forespåring och skicka data via denna försök
Hur man använder data-argument för att skicka data via AJAX-forespåringar. (Detta exempel förklaras i AJAX-utbildningen.)
Skapa en AJAX-forespåring och använd en callback-funktion
Hur man använder function-argument för att hantera dataresultat från AJAX-forespåringar.
Skapa en AJAX-forespåring med fel
Hur man använder function-argument för att hantera fel i AJAX-forespåringar (använd XMLHttpRequest-argument).