HTML5 – Ajax-Header

Es ist allgemein bekannt, dass es nicht sehr häufig ist, die Kopfzeile der Seiten ändern zu müssen, da der Browser in den meisten Fällen interpretieren und wissen kann, was zu senden ist. Es gibt jedoch einige Ausnahmen, die auftreten, wenn wir mit Ajax arbeiten, und wir müssen auf den Header X-HTTP-Method-Override zurückgreifen, mit dem wir den Header überschreiben. In diesem Fall müssen wir dem Browser mitteilen, dass er kommt und wie er interpretiert werden soll.

Überschreiben Sie die HTTP-Anforderungsmethode

HTTP ist ein Standard, der zum Transportieren von HTML-Dokumenten durch das Internet verwendet wird. Wir haben eine Reihe von Methoden, die jedoch am häufigsten verwendet werden: GET und POST , da diese Methoden in Webanwendungen am häufigsten verwendet werden. Wir haben jedoch andere Methoden, unter denen wir PUT und DELETE nennen können , wobei derzeit die Tendenz besteht, diese Methoden zunehmend zu verwenden, um den URLs, die Anforderungen auf einem Server entgegennehmen können, eine bessere Bedeutung zu verleihen.

Das folgende Beispiel soll dies näher erläutern.

Angenommen, wir möchten einen Benutzer einer Seite konsultieren, und stellen daher eine Anfrage mit der folgenden Struktur:

 httpRequest.open ("GET", "[url =" http: // myserver / records / perez / pedro "] http: // myserver / records / perez / pedro [/ url]"); 

Wenn wir ein geeignetes serverseitiges Skript haben, könnte dies als Abfrage interpretiert werden, sodass die GET-Methode ihrem Namen gerecht wird, um Daten abzurufen.

Was passiert, wenn wir diesen Benutzer löschen möchten, wir könnten eine Validierung mit anderen Mitteln durchführen, jedoch unter Verwendung derselben URL könnten wir Folgendes sagen:

 httpRequest.open ("[b] DELETE [/ b]", "[url =" http: // myserver / records / perez / pedro "] http: // myserver / records / perez / pedro [/ url]") ; 

Die Verwendung der DELETE- Methode ist sinnvoll, da unser Serverskript nur zwischen verschiedenen HTTP-Methoden unterscheiden muss, um zu wissen, welche Aktion auszuführen ist.

See also  Überwachen und kennen Sie die Hardware Ihres Computers mit Speccy

Dies zeigt sich auch in dem neuen Trend, APIS REST zu erstellen, der durch die Methoden und die verschiedenen auszuführenden Aktionen gesteuert wird. Auf diese Weise können wir die Art der Anforderung angeben, die wir ausführen möchten, und unser Serverskript kann die verschiedenen Anforderungen verarbeiten, die ausgeführt werden Unsere Seite kann damit umgehen.

Lesen Sie die Antworten des Headers

Sehen wir uns in diesem Codebeispiel an, wie wir die Header lesen können, die wir mit der Antwort auf eine Ajax- Anfrage erhalten können:

 <! DOCTYPE HTML> <html> <head> <title> Beispiel </ title> <style> #allheaders, #ctheader { Rand: mittelschwarz; Polsterung: 2px; Rand: 2px; } </ style> </ head> <body> <div> <button> Äpfel </ button> <button> Kirschen </ button> <button> Bananen </ button> </ div> <div id = "ctheader"> </ div> <div id = "allheaders"> </ div> <div id = "target"> Drücken Sie eine Taste </ div> <script> var buttons = document.getElementsByTagName ("button"); für (var i = 0; i <buttons.length; i ++) { buttons [i] .onclick = handleButtonPress; } var httpRequest; Funktion handleButtonPress (e) { httpRequest = new XMLHttpRequest (); httpRequest.onreadystatechange = handleResponse; httpRequest.open ("GET", e.target.innerHTML + ".html"); httpRequest.send (); } Funktion handleResponse () { [b] if (httpRequest.readyState == 2) {[/ b] [b] document.getElementById ("allheaders"). innerHTML = httpRequest.getAllResponseHeaders (); [/ b] [b] document.getElementById ("ctheader"). innerHTML = httpRequest.getResponseHeader ("Content-Type"); [/ b] [b]} else if (httpRequest.readyState == 4 && httpRequest.status == 200) {[/ b] [b] document.getElementById ("target"). innerHTML = httpRequest.responseText; [/ b] } } </ script> </ body> </ html> 

Die Header, die mit den Antworten geliefert werden , sind verfügbar, wenn der readyState in den Status 2 oder HEADERS_RECEIVED wechselt. Dies ist das erste, was in einer Antwort auf eine Anforderung empfangen wird. Sehen wir uns in der folgenden Abbildung an, wie das Beispiel im Browser ausgeführt wird:

See also  Backbone.js - Modelle

html5_ajaxheader.jpg

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *