2014-02-16 12 views
13

Was passiert, wenn auf die Schaltfläche zum Senden geklickt wird? Lasse Ich habe eine Form, die wie diese auf einer http://example.com/ URL mit den beiden input Elementen zu finden:Was passiert, wenn auf die Schaltfläche zum Senden geklickt wird

<form method="get"> 
    <input type="text" id="field1" name="namefield1"/> 
    <input type="text" id="field2" name="namefield2"/> 
    <input type="submit" value="submit"/> 
</form> 

Was eigentlich Anfrage an einen http -Server in meinem speziellen Fall gesendet werden, erhalten?

+1

herunterladen [Fiedler] (http://www.telerik.com/fiddler) und sehen, welche Anforderungen sind geschickt. –

+0

Warum versuchst du es nicht und siehst mit den Debugging-Tools des Browsers? – j08691

Antwort

18

Das Formular wird an den Server gesendet und der Browser wird an die aktuelle Adresse des Browsers umleiten und die Werte der Eingabefelder als Abfragezeichenfolgenparameter anhängen.

In Bezug auf das HTTP-Protokoll die folgende GET-Anfrage HTTP-Anforderung wird gesendet:

GET http://example.com/?namefield1=value1&namefield2=value2 HTTP/1.1 
Host: example.com 

Da Ihr <form> ist ein action Attribut fehlt, wird einfach der Browser auf die aktuelle URL umleiten, indem die Werte Anhängen als Abfrage Zeichenfolge Parameter. Wenn also dieses Formular nach dem Absenden von http://example.com/foo.php geladen wurde, wird der Browser zu http://example.com/foo.php?namefield1=value1&namefield2=value2 umleiten, wobei und value2 die Werte sein werden, die vom Benutzer in den entsprechenden Eingabefeldern eingegeben werden.

Sie können auch die in Ihrem Browser integrierten Debugging-Tools verwenden oder Fiddler, um die genaue Payload zu prüfen, die an den Server gesendet wird.

+0

Warum wird 'namefield1' zweimal gesendet? – j08691

+0

Es war ein Fehler. 2 Parameter werden an den Server gesendet. –

Verwandte Themen