Heim  >  Artikel  >  Web-Frontend  >  Detaillierte Erläuterung der Verwendung von GET und POST in Ajax

Detaillierte Erläuterung der Verwendung von GET und POST in Ajax

php中世界最好的语言
php中世界最好的语言Original
2018-04-02 14:54:471494Durchsuche

Dieses Mal werde ich Ihnen die Verwendung von GET und POST in Ajax ausführlich erklären. Was sind die Vorsichtsmaßnahmen bei der Verwendung von GET und POST in Ajax?

Im vorherigen Aufsatz habe ich in nostalgischer Weise eine Methode zum Erstellen von XHR-Objekten zusammengefasst, die mit verschiedenen Browsern kompatibel sind:

Nach dem Einrichten des XHR-Objekts muss der Client nur noch , übergeben Senden Sie die Daten auf irgendeine Weise an den Server, um die entsprechende Antwort zu erhalten. Im zweiten Quartal der Ajax-Technologiezusammenfassung werde ich mich auf zwei Möglichkeiten konzentrieren, Daten zu übermitteln.

Bevor wir dies tun, müssen wir unser HTTP-Übertragungsprotokoll verstehen:

HTTP fungiert als Anfrage-Antwort-Protokoll zwischen dem Client und dem Server.

Beispiel: Der Client (Browser) sendet eine HTTP-Anfrage an den Server; der Server gibt eine Antwort an den Client zurück. Die Antwort enthält Statusinformationen zur Anfrage und den möglicherweise angeforderten Inhalten. Wenn Sie Daten auf Basis des HTTP-Protokolls übertragen möchten, müssen Sie zwei Anfragemethoden

Zwei HTTP--Anfragemethoden verwenden: GET und POST

Bei Anfragen und Antworten zwischen dem Client und dem Server sind die beiden am häufigsten verwendeten Methoden: GET und POST.

  • GET – Fordert Daten von einer angegebenen Ressource an.

  • POST – Zu verarbeitende Daten an die angegebene Ressource senden

Dies ist die Beschreibung des Nutzungsszenarios von GRT und POST auf W3C, von Literally Das heißt, GET wird verwendet, um Daten vom Server zu erhalten, und POST wird verwendet, um Daten an den Server zu übertragen

Dies ist aus der URL des Übermittlungspfads und der Daten ersichtlich:

Die Attribute, die zum Verweisen auf URLs verwendet werden können, sind:

1. im Formular href

3. Das src-Attribut im IMG-Skript (dieses Attribut ist nicht durch die „Same-Origin-Policy“ eingeschränkt und kann für „domänenübergreifend“ verwendet werden). Ich möchte einige domänenübergreifende Probleme zusammenfassen in naher Zukunft. Hier zuerst Graben Sie ein Loch)

Hier sprechen wir über ihre Unterschiede bei der Formularübermittlung 1. In der Ajax-Formularübermittlung , get Verwenden Sie die Funktion open(), um Daten zu übermitteln, wobei die Daten in Form von URL-Schlüssel und -Wert hinter der URL gespleißt werden:

In der URL des Browsers sieht es so aus:
xhr.open('get','xxx.php?name=tom & age=18');
xhr.send(null);

Übermittlungs-URL abrufen

Hier ist zu sehen: GET fügt der URL, auf die die Aktion zeigt, die Parameterdatenwarteschlange hinzu Attribut des Übermittlungsformulars und der Wert und Jedes Feld im Formular weist eine Eins-zu-eins-Entsprechung auf und ist in der URL sichtbar. Die URL-Länge der ID ist begrenzt. Wenn die URL zu lang ist, werden überlange Zeichen automatisch abgefangen. Dies kann leicht zu einem Problem führen: Wenn zu viele Parameter übergeben werden, was dazu führt, dass die URL zu lang ist, fängt die URL automatisch die überlangen Zeichen ab und letztendlich können die übergebenen Parameter nicht abgerufen werden. Dies begrenzt auch die von GET übertragene Datengröße auf nicht mehr als 2 KB. Darüber hinaus ist die Sicherheit von GET

bei der Übermittlung von Daten über GET sehr gering Methode: Der Benutzername und das Passwort werden auf der URL angezeigt. Wenn:

- die Anmeldeseite vom Browser zwischengespeichert werden kann

- andere auf den Computer des Kunden zugreifen können. Anschließend können andere die Kontonummer und das Passwort des Kunden aus dem Browserverlauf ablesen. Daher kann die GET-Methode in einigen Fällen schwerwiegende Sicherheitsprobleme verursachen.

Es ist nicht so, dass die GET-Methode keine Vorteile hätte. Im Geschwindigkeitstest ist die GET-Übermittlungsgeschwindigkeit um ein Vielfaches höher als die der POST-Methode.

2. Bei der Ajax-Formularübermittlung muss POST nur die URL in der open()-Funktion angeben, und die send()-Funktion übermittelt die Daten:

POST ist: durch Mit dem HTTPPOST-Mechanismus platzieren Sie jedes Feld im Formular und seinen Inhalt im HTML-HEADER und senden es an die URL-Adresse, auf die das Aktionsattribut verweist. Benutzer können diesen Vorgang nicht sehen. Höhere Sicherheit

POST überträgt große Datenmengen und ist im Allgemeinen standardmäßig uneingeschränkt. Sie können das FormData-Objekt in dieser Demo verwenden, um Bilder, Rich-Text und andere Dateien zu übergeben, was bei get nicht möglich ist.

Zusammenfassend lässt sich sagen, dass „Get“ eine Anforderung an den Server für Daten ist, während „Post“ eine Anforderung für die Übermittlung von Daten an den Server ist. In FORM (Formular) ist die Methode standardmäßig auf „GET“ eingestellt.

Im Wesentlichen , GET und POST haben nur unterschiedliche Sendemechanismen, nicht einer wird genommen und der andere wird gesendet!

Kurz gesagt, es gibt keinen Vor- oder Nachteil zwischen diesen beiden Formularübermittlungsmethoden. Sie haben lediglich unterschiedliche Anpassungsszenarien, die je nach Bedarf in unserer täglichen Arbeit erfasst werden müssen.

Später werde ich verschiedene Möglichkeiten zum Schreiben von Pfaden in der Interaktion zwischen dem Browser und dem Server zusammenfassen.

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website.

Empfohlene Lektüre:

Ajax-Methode zum Reagieren auf JSON-String und JSON-Array

Verwenden Sie Ajax, um Synchronisation und Asynchronität zu erreichen Was ist der Unterschied

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Verwendung von GET und POST in Ajax. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn