Der Unterschied zwischen get-Methode und post-Methode in Ajax

巴扎黑
Freigeben: 2023-03-02 18:30:01
Original
1790 Leute haben es durchsucht

1. Der grundlegende Unterschied zwischen get() und post()

1. Get fügt die Parameterdatenwarteschlange der URL hinzu, auf die das ACTION-Attribut des übermittelten Formulars verweist, und die Werte entsprechen zu jedem Feld im Formular, das in der URL zu sehen ist. Post verwendet den HTTP-Post-Mechanismus, um jedes Feld im Formular und seinen Inhalt im HTML-HEADER zu platzieren und an die URL-Adresse zu übertragen, auf die das ACTION-Attribut verweist. Benutzer können diesen Vorgang nicht sehen.

2. Für die Get-Methode verwendet die Serverseite Request.QueryString, um den Wert der Variablen abzurufen. Für die Post-Methode verwendet die Serverseite Request.Form, um die übermittelten Daten abzurufen. Mit Request können Parameter auf beide Arten abgerufen werden.

3. Die von get übertragene Datenmenge ist gering und darf nicht größer als 2 KB sein. Die auf dem Postweg übermittelten Datenmengen sind relativ groß und unterliegen grundsätzlich keiner Beschränkung. Aber theoretisch ist es von Server zu Server unterschiedlich.

4. Get hat eine sehr niedrige Sicherheit, während Post eine hohe Sicherheit hat.

5.

ist dasselbe wie , das heißt, wenn die Methode get ist, wird die Parameterliste am Ende der Aktionsseite ignoriert und ;form method="post " action="a.asp"> ist anders.

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

1. Get-Methode
Verwenden Sie die Get-Methode, um einfache Daten zu übertragen, aber die Größe ist im Allgemeinen auf 1 KB begrenzt Daten werden an die URL-Senden angehängt (HTTP-Header-Übertragung), das heißt, der Browser hängt jedes Formularfeldelement und seine Daten im Format von URL-Parametern an das Ende des Ressourcenpfads in der Anforderungszeile an. Das Wichtigste 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.

Ajax-Sendeanforderung: Wenn es sich um eine Get-Anfrage handelt, Sendeparameter (Parameter): muss null oder xhr.send(); sein.

Es ist nicht erforderlich, xhr.setRequestHeader(header, value) für get request

Hinweis: Wenn der Parameter xhr.send(); nicht leer ist, wird er automatisch in die Post-Request-Methode konvertiert. Sie können die Anforderungsmethode über request.getMethod( abrufen. ); Methode

Beispiel:

function getAjax(){ 
     //获取xhr对象
     var xhr = getXhr();
        //规定请求类型     
     xhr.open("get","main.jsp?username=123",true);
     xhr.onreadystatechange = function (){
          //判读是否处理完毕
          if(xhr.readyState==4){
               //判读服务器是否处理成功!
              if(xhr.status==200){
                    alert(xhr.responseText);
              }
          }
                } 
}
Nach dem Login kopieren

Beachten Sie bei Verwendung der Get-Methode bitte
(1) Bei Get-Anfragen (oder allen beteiligten URL-Übertragungsparametern) die übergebenen Parameter muss zuerst die

encodeURIComponent-Methodenverarbeitung durchlaufen. Beispiel: var url = "update.php?username=" +encodeURIComponent(username) + "&content=" +encodeURIComponent

(content)+" &id=1" ;

2.Post-Methode:
Bei Verwendung der POST-Methode sendet der Browser jedes Formularfeldelement und seine Daten als Entitätsinhalt der HTTP-Nachricht an den Webserver, anstatt Übergabe als Parameter der URL-Adresse mit der POST-Methode. Die Datenmenge ist viel größer als die mit der GET-Methode übertragene Datenmenge.

Anfrage senden: Wenn es sich um einen Post-Request-Sendeparameter handelt : Der Parameter kann null sein oder

xhr.send() |Send (mit Parametern) Post-Anfrage muss xhr.setRequestHeader(header,value)

Instance:

function postAjax(){ 
     //获取xhr对象
     var xhr = getXhr();
     //规定请求类型     
     xhr.open("post","main.jsp",true);
   xhr.setRequestHeader("Content-Type",
       "application/x-www-form-urlencoded")
 xhr.send("username=345&pass=123");
     xhr.onreadystatechange = function (){
          //判读是否处理完毕
          if(xhr.readyState==4){
               //判读服务器是否处理成功!
              if(xhr.status==200){
                  alert(xhr.responseText);
              }
          }
                } 
}
Nach dem Login kopieren
setzen

Bei Verwendung der Post-Methode beachten Sie bitte Folgendes:
(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 den

SetRequestHeader( „Context-Type“, „application/x-www-form-urlencoded;“). Beispiel:

xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
(2). Die Parameter sind Schlüssel-Wert-Paare entsprechend Name/Wert. Jedes Wertepaar wird durch ein kaufmännisches Und getrennt. Beispiel: var name=abc&sex=man

&age=18 Beachten Sie, dass var name=update.php?abc&sex=man&age=18 und var name=?abc&sex =man

Die Schreibweise von &age=18 ist falsch.
(3) Parameter werden in der Send (Parameter)-Methode gesendet, zum Beispiel: xmlHttp.send(name); get-Methode, direkt xmlHttp.send(null );

(4). Serverseitige Anforderungsparameter unterscheiden zwischen Get und Post. Wenn es die get-Methode ist, dann $username = $_GET["username"]; Wenn es die post-Methode ist, dann $username = $_POST["username"];

Kurz gesagt, die GET-Methode wird zum Übertragen verwendet. Die Datenmenge ist gering, die Verarbeitungseffizienz ist hoch, die Sicherheit ist gering und sie werden zwischengespeichert, während bei POST das Gegenteil der Fall ist.


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!