Heim  >  Artikel  >  Web-Frontend  >  Eine kurze Analyse der Nutzungsunterschiede zwischen Jquery AJAX POST und GET

Eine kurze Analyse der Nutzungsunterschiede zwischen Jquery AJAX POST und GET

巴扎黑
巴扎黑Original
2017-07-03 10:33:291189Durchsuche

In diesem Artikel geht es um den Unterschied zwischen AJAX POST und GET in Jquery. Es wurde eine detaillierte Zusammenfassung eingeführt. Freunde, die es benötigen, können sich darauf beziehen.

1: GET-Zugriffsbrowser halten es für idempotent
bedeutet, dass es nur ein Ergebnis für dieselbe URL gibt [dasselbe bedeutet, dass die gesamte URL--Zeichenfolge genau übereinstimmt]
Daher, wenn sich die URL-Zeichenfolge während der zweiten nicht ändert Besuch, der Browser wird es direkt herausnehmen

POST wird als sich ändernder Zugriff betrachtet (der Browser geht davon aus, dass sich die Übermittlung von POST geändert haben muss)

Verhindern Sie GET vom idempotenten Zugriff direkt hinter dem URL Plus? +new Date();, [Kurz gesagt, es macht die URL-Zeichenfolge bei jedem Besuch anders]

Dieses Prinzip sollte auch beim Entwerfen von WEB-Seiten befolgt werden

2 : 1. Sprechen Sie über den Unterschied zwischen Ajax Get und Post

Get-Methode:
Einfache Daten können mit der Get-Methode übertragen werden, die Größe ist jedoch im Allgemeinen gleich auf 1 KB begrenzt. Anschließend werden die Daten an die URL angehängt und gesendet (HTTP-Header-Übertragung), d. h. der Browser hängt jedes Formularfeldelement und seine Daten entsprechend dem Format an das Ende des Ressourcenpfads in der Anforderungszeile an der URL-Parameter. Der wichtigste Punkt ist, dass es vom Browser des Kunden zwischengespeichert wird, sodass andere die Daten des Kunden, wie Kontonummer und Passwort usw., aus dem Browserverlauf lesen können. Daher kann die get-Methode in manchen Fällen schwerwiegende Sicherheitsprobleme verursachen.

Post-Methode:
Bei Verwendung der POST-Methode sendet der Browser jedes Formularfeldelement und seine Daten als Entitätsinhalt der HTTP-Nachricht an den Webserver und nicht als Es werden Parameter übergeben und die mit POST übertragene Datenmenge ist viel größer als die mit GET übertragene.

Kurz gesagt: Die GET-Methode überträgt eine kleine Datenmenge, weist eine hohe Verarbeitungseffizienz und geringe Sicherheit auf und wird zwischengespeichert, während bei POST das Gegenteil der Fall ist.

Bei Verwendung der Get-Methode beachten Sie bitte Folgendes:
1 Bei Get-Anfragen (oder allen übergebenen URL-Parametern) müssen die übergebenen Parameter zuerst von der encodeURIComponent-Methode verarbeitet werden : var url = "update.php?username=" +encodeURIComponent(username) + "&content=" +encodeURIComponent

(content)+"&id=1" ;


Hinweise zur Verwendung der Post-Methode:
1. Setzen Sie den Kontexttyp des Headers auf application/x-www-form-urlencode, um sicherzustellen, dass der Server weiß, dass es welche gibt Parametervariablen in der Entität verwenden normalerweise XmlHttpRequestSetRequestHeader("Context-Type","application/x-www-form-urlencoded;") des Objekts . Beispiel:

xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
2. Die Parameter sind jeweils Name/Wert Verwenden Sie kaufmännische Und-Zeichen, um die Werte zu trennen. Beachten Sie beispielsweise, dass var name=update.php?

abc&sex=man&age=18 und var name=?abc&sex=man&age=18 sind beides ist auf die gleiche Weise geschrieben.
3. Parameter werden in der Send-Methode (Parameter) gesendet, zum Beispiel: xmlHttp.send(name); );

4. Server Der Terminal- Anforderungsparameter unterscheidet zwischen Get und Post. Wenn es die Get-Methode ist, dann $username = $_GET["username"]; Wenn es die Post-Methode ist, dann $username = $_POST["username"];

AJAXProblem mit verstümmelten Zeichen

Ursache für verstümmelte Zeichen:
1. Die Standardzeichenkodierung der von xtmlhttp zurückgegebenen Daten ist utf -8. Wenn die Clientseite gb2312 oder andere codierte Daten ist, werden verstümmelte Zeichen erzeugt
2. Die Standardzeichencodierung für von der Post-Methode übermittelte Daten ist utf-8, wenn die serverseitig codierten Daten gb2312 oder anders codiert sind Daten werden verstümmelte Zeichen erzeugt

Die Lösungen sind:
1 Wenn der Client die gb2312-Kodierung verwendet, geben Sie die Ausgabestream-Kodierung auf dem Server an
2. Sowohl der Server als auch der Client verwenden die UTF-8-Kodierung

gb2312:header('Content-Type:text/html;charset=GB2312');

utf8:header( 'Content-Type:text/html;charset=utf-8');

Hinweis:Wenn Sie die obige Methode durchgeführt haben und immer noch verstümmelten Code zurückgeben, Überprüfen Sie, ob es sich bei Ihrer Methode um Get-Anfragen (oder alles, was URL-Übergabeparameter betrifft) handelt, müssen die übergebenen Parameter zuerst von der encodeURIComponent-Methode verarbeitet werden. Wenn sie nicht von encodeURIComponent verarbeitet werden, werden auch verstümmelte Zeichen generiert

Das obige ist der detaillierte Inhalt vonEine kurze Analyse der Nutzungsunterschiede zwischen Jquery AJAX POST und GET. 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