Heim  >  Artikel  >  Web-Frontend  >  Detaillierte Erläuterung des Methodenattributs im Formular-Tag

Detaillierte Erläuterung des Methodenattributs im Formular-Tag

Y2J
Y2JOriginal
2017-05-20 10:23:263131Durchsuche

Beispiel

Im folgenden Beispiel werden Formulardaten über das Methodenattribut an die URL angehängt:

<form action="form_action.asp" method="get">
  <p>First name: <input type="text" name="fname" /></p>
  <p>Last name: <input type="text" name="lname" /></p>
  <input type="submit" value="Submit" />
</form>

Definition und Verwendung

Das Methodenattribut gibt an So senden Sie Formulardaten (Formulardaten werden an die durch das Aktionsattribut angegebene Seite gesendet).

Formulardaten können als URL-Variable (method="get") oder HTTP-Post (method="post") gesendet werden.

Methodenattribut

Der Browser verwendet die durch das Methodenattribut festgelegte Methode, um die Daten im Formular zur Verarbeitung an den Server zu übertragen. Es gibt zwei Methoden: POST-Methode und GET-Methode.

Wenn die POST-Methode verwendet wird, führt der Browser die folgenden zwei Schritte aus, um Daten zu senden. Zunächst stellt der Browser Kontakt zu dem im Aktionsattribut angegebenen Formularverarbeitungsserver her. Sobald die Verbindung hergestellt ist, sendet der Browser die Daten in einem segmentierten Übertragungsverfahren an den Server.

Auf der Serverseite sollten die Parameter von einem Flag-Speicherort gelesen werden, bevor die Anwendung die Formularwerte verwenden kann dekodieren. Benutzerspezifische Server geben explizit an, wie Anwendungen diese Parameter akzeptieren sollen.

Ein anderer Fall ist die Verwendung der GET-Methode. In diesem Fall stellt der Browser eine Verbindung mit dem Formularverarbeitungsserver her und sendet dann alle Formulardaten direkt in einem Übertragungsschritt: Der Browser hängt die Daten direkt an zum Formular nach der Aktions-URL. Verwenden Sie ein Fragezeichen, um die beiden zu trennen.

Allgemeine Browser können Formularinformationen über jede der oben genannten Methoden übertragen, während einige Server nur Daten akzeptieren, die von einer der Methoden bereitgestellt werden. Sie können im Methodenattribut des

-Tags angeben, welche Methode der Formularverarbeitungsserver zum Verarbeiten von Daten verwenden soll (POST oder GET).

POST oder GET?

Wenn der Formularverarbeitungsserver sowohl POST- als auch GET-Methoden unterstützt, welche Methode sollten Sie wählen? Hier einige Regeln hierzu:

Wenn Sie die beste Formularübertragungsleistung erzielen möchten, können Sie die GET-Methode verwenden, um ein kleines Formular mit zu senden nur wenige kurze Felder.

● Einige Server-Betriebssysteme begrenzen die Anzahl und Länge der Befehlszeilenargumente, die sofort an Anwendungen übergeben werden können. In diesem Fall sollten Textfelder, die viele Felder haben oder sehr lang sind, mit gesendet werden die POST-Methode.

Wenn Sie keine Erfahrung mit dem Schreiben serverseitiger Formularverarbeitungsanwendungen haben, sollten Sie die GET-Methode wählen. Wenn Sie die POST-Methode verwenden, müssen Sie zusätzliche Arbeit bei den Lese- und Dekodierungsmethoden leisten. Vielleicht ist das nicht schwierig, aber vielleicht sind Sie nicht bereit, sich mit diesen Problemen auseinanderzusetzen.

● Wenn Sicherheit ein Problem darstellt, empfehlen wir die Verwendung der POST-Methode. Die GET-Methode platziert die Formularparameter direkt in der URL der Anwendung, sodass sie von Netzwerkschnüfflern leicht erfasst und aus den Protokolldateien des Servers extrahiert werden können. Wenn die Parameter vertrauliche Informationen wie Kreditkartenkontonummern enthalten, kann die Sicherheit des Benutzers unwissentlich gefährdet sein. POST-Anwendungen weisen keine Sicherheitslücken auf und können zumindest die Verschlüsselung verwenden, wenn Parameter als separate Transaktionen zur Verarbeitung an den Server übertragen werden.

● Wenn Sie eine serverseitige Anwendung außerhalb des Formulars aufrufen und den Prozess der Parameterübergabe daran einschließen möchten, müssen Sie die GET-Methode verwenden, da diese Methode die Einbindung von Parametern wie dem Formular ermöglicht als Teil der URL. Anwendungen, die den POST-Stil verwenden, erwarten hingegen eine zusätzliche Übertragung vom Browser nach der URL, mit Inhalten, die nicht als Inhalt eines herkömmlichen -Tags verwendet werden können.

Parameter explizit übergeben

前面的一些建议也可以作为选择此种方式的一定解释。假设你有一个很简单的表单,其中只包含 x 和 y 这两个参数。在对这些元素的值进行编码时,它们的形式如下所示:

x=28&y=66

如果表单采用了 method=GET,那么用来引用服务器端应用程序的 URL 将如下所示:

http://www.example.com/example/program?x=28&y=66

在任何时候我们都可以创建一个传统的 标签,用它在调用带有所需参数值的表单,其形式如下所示:

唯一的问题是,分隔参数所用的 & 符号也是字符实体中的插入符号。如果在 标签的 href 属性中放入一个 & 符号,浏览器就会将其后面的字符替换成相应的字符实体。

为了防止出现这种情况,我们必须用它的实体对等物来替换 & 符号,也就是用 "&" 或 "&" 来替换。替换之后,上面的那个引用服务器应用程序的非表单示例将如下所示:

由于这样还是不能在 URL 中使用 & 符号,并且有可能在将来带来混乱,因此我们鼓励服务器设置最后也能够接受用分号作为参数分隔符。您也可以看看自己的服务器文档,了解服务器是否支持这种功能。

语法

<form target="value">

属性值

Detaillierte Erläuterung des Methodenattributs im Formular-Tag

【相关推荐】

1. HTML免费视频教程

2. 带你掌握HTML中table和form表单

3. 详解html中form表单的参数和属性

4. 详解form标签中的method属性

5. 详解form表单的工作过程

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des Methodenattributs im Formular-Tag. 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