Heim >Web-Frontend >js-Tutorial >JQuery Ajax Unterschiede zwischen Get vs Post
Kernpunkte
Get and Post
Wenn Sie verwenden, erhalten Sie
Wenn die Form des Formulars idempotent ist (d. H. Es gibt keinen dauerhaften beobachtbaren Effekt auf den Weltzustand), sollte die Formmethode erhalten werden. Viele Datenbanksuche haben keine offensichtlichen Nebenwirkungen und sind ideal für Abfragen von Formularen.
Funktionen von get:
[W3.Org Get Method Definition Definition] (W3C -Methodendefinitionsverknüpfung sollte hier eingefügt werden)
Wann sollte ich Post
verwendenWenn ein Dienst in Bezug auf Formularverarbeitung Nebenwirkungen aufweist (z. B. Änderung einer Datenbank oder Abonnieren eines Dienstes), sollte die Methode postet werden.
Sie können Post bei der Bearbeitung langer Anfragen verwenden. Wenn Sie eine große Datenmenge senden oder sensible Daten über HTTPS senden, sollten Sie Post verwenden. Einige Browser (z. B. Internet Explorer) haben Einschränkungen für die URL -Stringlänge. Wenn Sie also GET verwenden, können einige Formulare -Vorgänge unterbrochen werden.
Die folgenden Operationen erfordern möglicherweise die Verwendung von Post:
[W3.org Post -Methode -Definition] (W3C -Post -Methode -Definitionsverbindung sollte hier eingefügt werden)
Get and Post in Ajax Call
AJAX -Aufrufe werden häufiger für GET verwendet, es sei denn, es werden sensible Daten an den Server gesendet, oder Skripte, die Daten auf dem Server verarbeiten, werden aufgerufen. Dies liegt daran, dass der Browser bei Verwendung von XMLHTTPrequest Post als zweistufiger Vorgang implementiert (sendet den Header zuerst und sendet dann die Daten). Dies bedeutet, dass Anfragen schneller reagieren - dies ist, was in der Ajax -Umgebung benötigt wird! Da "AJAX" -Anfragen durch homologe Richtlinien begrenzt sind, ist das Sicherheitsrisiko der Verwendung von GET anstelle von Post begrenzt. Verwenden Sie Informationen, um Informationen vom Server zu "erhalten", z. B. das Laden einer JavaScript -Datei (kann die AJAX -Abkürzungsfunktion $.getScript()
verwenden oder eine JSON -Datei laden (kann die AJAX -Abkürzungsfunktion $.getJSON()
verwenden).
jQuery AJAX -Funktionen mit GET AS STATTELT: $.get()
, $.getScript()
, $.getJSON()
, .load()
jQuery AJAX -Funktion mit Post als Standard: $.post()
AJAX -Anruf
$.ajax({ url: 'getTwitterFollowers.php', type: 'GET', data: 'twitterUsername=jquery4u', success: function(data) { // 成功时调用 $('#ajaxphp-results').html(data); }, error: function(e) { // 发生错误时调用 //console.log(e.message); } });Zeigen Sie die Demo post ajax call Beispiel - Anmeldeformular
senden
var $form = $("#myForm"); var url = $form.attr("action") + "?" + $form.serialize(); $("#" + id).html(url); $.ajax({ type: "POST", url: action, data: $form, success: function(response) { if (response == 'success') $("#myForm").slideUp('slow', function() { $("#msg").html("You have logged in successfully!"); }); else $("#msg").html("Invalid username and/or password."); } });Andere Lesematerialien
Beispiel für Beispiel für Formulare Dieses Beispiel funktioniert nicht wirklich mit AJAX, da diese Anfragen im Hintergrund auftreten. Es kann Ihnen jedoch helfen, mehr darüber zu verstehen, was zwischen verschiedenen Anfrage -Typen geschieht. Bei der Verwendung von GET wird eine HTTP -Anforderung generiert und die Daten werden als Reihe von Codierungsparametern in der an die URL angehängten Abfragezeichenfolge an den Webserver übergeben. Beispielsweise ist es eine schlechte Idee, die Einreichung von GET für die Einreichung von Anmeldesformular zu verwenden, da in der Adressleiste Anmeldetails angezeigt werden.
Wenn wir jedoch Post verwenden, werden die Parameter durch den Körper der HTTP -Anfrage geleitet, nicht durch die URL. Dies geschieht im Hintergrund zwischen dem Browser und dem Webserver.
<code>GET /login.php?username=user&password=12345 HTTP/1.1 Host: domain.com</code>
<code>POST /login.php HTTP/1.1 Host: domain.com username=user&password=12345</code>GET Cache GET soll verwendet werden, um Informationen zu lesen, die auf einer Seite angezeigt werden sollen. Der Browser wird die Ergebnisse der GET -Anforderung zwischenspeichert. Wenn dieselbe GET -Anforderung erneut gestellt wird, werden die Ergebnisse des Cache angezeigt, anstatt die gesamte Anfrage erneut zu leiten.
Rest - "Restful" Client -Serverarchitektur Zum Beispiel hat HTTP ein sehr reichhaltiges Wortschatz in Bezug auf Verben (oder "Methoden"), URIs, Internet -Medientypen, Anfragen und Antwortcodes. REST verwendet diese vorhandenen Merkmale des HTTP -Protokolls, sodass vorhandene hierarchische Proxy- und Gateway -Komponenten andere Funktionen im Netzwerk ausführen können, wie z.
Informationen über "Denotative Status Transfer" (Rest) lesen:
http://en.wikipedia.org/wiki/repesentational_state_transfer#restful_example:_the_world_wide_web Rest - "RESTFOR" Webdienst (API) Es handelt sich um eine Reihe von Ressourcen mit vier definierten Aspekten: der Basis -URI des Webdienstes, wie z. B. http://example.com/resources/
; Dies ist in der Regel JSON, XML oder YAML, kann jedoch jeder andere gültige Internet-Medientyp sein. [11]
[ https://www.php.cn/link/13da2193bcd455bb894871aec1815047 Webdienst -Link)
Schlussfolgerung
Ich hoffe, Sie haben ein klares Verständnis dafür, wann Sie Get verwenden und wann Sie Post verwenden können. Wenn Sie sich noch nicht sicher sind oder den Hintergrund von AJAX -Aufrufen überprüfen möchten, verwenden Sie ein Tool wie Firebug Net -Panel, um festzustellen, wo die Daten gesendet werden (z. B. im Header) und den Anforderungsart. Außerdem wünsche ich Ihnen eine glückliche Ajax -Programmierung!
FAQs (FAQs) über AJAX GET und Post -Methoden
(Dies sollte nach dem ursprünglichen FAQ -Teil in einer prägnanteren Sprache neu organisiert und übersetzt werden) Aufgrund von Platzbeschränkungen wird die Übersetzung des FAQ -Teils hier weggelassen. Bitte geben Sie den ursprünglichen FAQ -Abschnitt an, und ich kann Ihnen helfen, ihn in eine prägnante Version zu übersetzen.
Das obige ist der detaillierte Inhalt vonJQuery Ajax Unterschiede zwischen Get vs Post. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!