Die wichtigste Sache zu verstehen ist hier, dass jeder AJAX-Aufruf (jede Web-Anfrage wirklich) zwei Komponenten hat: Eine Anfrage und eine Antwort. Der tatsächliche Funktionsaufruf $.ajax()
sendet die Anforderung und eine Rückruffunktion wird bereitgestellt, um die Antwort zu verarbeiten.
Zur Veranschaulichung:
$.ajax({
type: "GET", // request type
url: "http://www.example.com/someResource", // destination URL
data: { name: "David", location: "Boston" } // data to send
});
Diese eine GET-Anfrage an die angegebene URL machen würde, ist es die angegebenen Daten zu senden. Die Antwort wird in diesem Fall ignoriert, da kein Rückruf bereitgestellt wird. Aber man kann eine liefern:
$.ajax({
type: "GET",
url: "http://www.example.com/someResource",
data: { name: "David", location: "Boston" }
}).done(function(response) {
// handle the response
});
Die Funktion, die „Greifen die Antwort“ enthält, wird vom System aufgerufen werden, wenn die AJAX Antwort vom Server empfangen wird. Die response
Variable (oder was auch immer Sie diese Variable nennen wollen, der Name spielt keine Rolle) enthält alles, was der Server im Gegenzug gesendet hat. Was könnte alles sein, wirklich.
Die Eigenschaft 'data' in Ihrem Code sind die Daten, die Sie an den Server senden. – David
Also, wie mache ich mich mit den Daten, die ich vom GET bekommen habe? Das verwirrt mich, egal wie sehr ich die Dokumentation lese. –
Sie stellen einen Rückruf bereit, um die asynchrone Antwort zu behandeln. Werfen Sie einen Blick auf den '.done()' Callback in den Beispielen: http://api.jquery.com/jquery.ajax/ – David