2011-01-10 9 views
1

Ich habe über die jQuery-Dokumente und es zeigt, dass .load ist ein shorthand method, aber nicht erklärt, was diese Funktion ist.jquery.load() ist eine Abkürzung für was?

Zum Beispiel .get(url, [data], [callback(data, textStatus, XMLHttpRequest)], [dataType]) ist eine Abkürzung für:

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

Und dies ist vollständig in der Dokumentation erklärt, aber .load() tut etwas etwas anders und es scheint einfach ein Ausreißer von der Konvention der zu sein .get, .getJSON, .getScript und .post, die dem obigen Beispiel ähnlich sind.

Was genau ist .Load Kurzschrift für?

Antwort

4
$('#result').load('ajax/test.html', function(data, textStatus, xhr) { 
    alert('Load was performed.'); 
}); 

ist eine Abkürzung für

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

können Sie sehen, was genau .load() führt durch Quellcode Inspektion hier: http://code.jquery.com/jquery-latest.js (es ist um die Linie 5585).

Hinweis: Sie können Selektor nach Ihrer URL übergeben (Sie müssen es durch Leerzeichen trennen). Wenn Sie dies tun, wird nicht die gesamte Antwort in Ihr Dokument eingefügt, sondern nur der Teil des Zieldokuments, der von diesem Selektor ausgewählt wurde.

+0

Hinweis: Die Ereignisbehandlungssuite verfügt auch über eine Methode namens .load(). Welche davon ausgelöst wird, hängt von der Menge der übergebenen Argumente ab. –

+0

Dies scheint den Selektor nicht zu berücksichtigen. – Incognito

+0

Beispiel zeigt load() angewendet für Knoten ausgewählt durch Selektor #Ergebnis –

0

Diese Methode ist der einfachste Weg zu Daten vom Server abrufen. Es ist grob entspricht $ .get (URL, Daten, Erfolg), außer dass es eine Methode eher als globale Funktion ist und es eine implizite Callback-Funktion hat. Wenn eine erfolgreiche Antwort erkannt wird (d. H. wenn TextStatus "Erfolg" oder "Notmodified") ist, setzt .load() den HTML Inhalt des zugeordneten Elements auf die zurückgegebenen Daten.

Von der manual.

+1

* "Es entspricht in etwa ... außer, dass ..." * sollte beantworten die Frage. Warum der Downvote? –

1

.load() verwendet die Methode .get() und geht noch einen Schritt weiter, indem eine angegebene DOM-Sammlung automatisch mit dem Inhalt einer erfolgreichen AJAX-Anforderung gefüllt wird.

Grundsätzlich statt diese zu schreiben:

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

Sie können dies nur schreiben:

$("#someElement").load(url); 
Verwandte Themen