<p>Über Ajax</p>
<small>Von Marie-Christine Jones, 2018</small>steht für
A | synchronous |
J | avascript |
A | nd |
X | ML |
Aber es kann jedes Datenformat, nicht nur XML, benutzen
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var demo = document.getElementById("demo");
demo.innerHTML = this.responseText;
}
};
xhttp.open("GET", "ajax_demo.php", true);
xhttp.send();
GET /ajax-info.txt HTTP/1.1 Host: example.com ...
Methoden: GET, POST und theoretisch noch andere
GET wenn erneut ausführbar
POST wenn Daten verändert werden
var item = document.getElementById("eingabe").value;
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == XMLHttpRequest.DONE
&& xhr.status == 200) {
warenkorb = document.getElementById("warenkorb");
warenkorb.innerHTML = xhr.responseText;
}
}
daten = new FormData();
daten.append('item', item);
xhr.open("POST", "warenkorb.php", true);
xhr.send(daten);
Same Server Policy: Zugriff nur auf den gleichen Server, von dem das HTML ist
if (window.XMLHttpRequest) {
// andere Browser
xhttp = new XMLHttpRequest();
} else {
// IE-Browser bis Version 6
xhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
onreadystate | Event Handler |
readyState | Zahlen 0-4 für UNSENT, OPENED, HEADERS_RECEIVED, LOADING und DONE |
response | Antwort in verschiedenen Formaten |
responseText | Antwort als Text |
status / statusText | HTTP Status als Zahl / als String |
timeout | Wie lange maximal gewartet wird |
Text in ein Element laden:
$("#div1").load("demo_test.txt");
GET:
$.get("ajax_demo.php", function(daten, status) {
...
});
POST:
$.post("warenkorb.php", { item: "Kaffee" },
function(daten, status) {
...
});
<p>Vielen Dank für Ihre Aufmerksamkeit!</p>