jQuery mit AJAX
Siehe Tag_14/jQuery/script.js.
GET Requests
1. Möglichkeit
$.ajax() erwartet, dass ein Konfigurations-Objekt übergeben wird:
function loadContent(link) {
$.ajax({
type: "GET",
url: link + ".html",
dataType: "html",
success: function(data) {
output.html(data);
},
error: function(xhrObj, error, errorMsg) {
console.log(xhrObj);
console.log(error, errorMsg);
}
})
typeist die Request-Methodeurlist die aufzurufende URLdataTypeist der zu erwartende Rückgabedatentypsuccessist die Handlung, welche bei erfolgreicher Ausführung (200) durchgeführt werden sollerrorist die Handlung, welche bei nicht-erfolgreicher Ausführung durchgeführt werden soll
2. Möglichkeit
done() und fail()
$.get({
url: link + ".html",
dataType: "html",
}).done(function(data) {
output.html(data);
}).fail(function(dxhrObj, error, errorMsg) {
console.log(xhrObj);
console.log(error, errorMsg);
});
POST Request
Analog zu GET Requests, gibt es zwei Möglichkeiten:
function setData(data) {
$.post({
url: "pfad zum verarbeiten",
dataType: "html" || "xml" || "json",
data: "zu sendende Daten",
success: function(data) {},
error: function() {}
});
}
Bonus: Lazy-Loading mit Hilfsmethoden-Bibliothek
Siehe Tag_14/libs/dom_helper.js (enthält Hilfsfunktionen) und
Tag_14/libs/script-helpertest.js.
Hier werden Bilder beim Herunterscrollen stets weiter geladen (man kann dadurch endlos scrollen).
Hint
Zu dom_helper.js
Über [elem.method].prototype lassen sich bereits definierte Elemente und
deren Methoden überschreiben.
Das prototyping kann zu Fehlern in Browsern führen, welche diese Funktion nicht unterstützt wird. Um dies zu vermeiden, kann über try-catch mit diesem Fehler umgegangen wird.