/**
Beschreibung: Kleine Probleme, auf die Sie bei der Verwendung des ASP-Request-Objekts achten müssen. Autor: Ci Qinqiang
E-Mail: [email protected]
**/
In ASP ist das Request-Objekt ein sehr wichtiges Objekt zum Abrufen der vom Client übermittelten Daten, und jeder ist damit sehr vertraut.
Trotzdem werde ich oft gefragt, was die Unterschiede zwischen den folgenden Schreibmethoden sind und wie sie geschrieben werden sollten.
strMessage = Request("msg")
strMessage = Request.Form("msg")
Darüber hinaus habe ich Codes gesehen, die von vielen Leuten geschrieben wurden, und sie sind alle auf die Art und Weise von Request("") geschrieben. An dieser Schreibweise ist natürlich nichts auszusetzen.
Aber jeder sollte aufpassen
Das Request-Objekt verfügt über mehrere Sammlungen, um vom Client übermittelte Daten abzurufen. Die am häufigsten verwendeten sind QueryString, Form und ServerVariables.
Unabhängig von der Art der Sammlung kann sie direkt über Request("") abgerufen werden. Hier liegt ein Problem vor
Die Get-Methode und die Post-Methode senden dieselbe Variable, z. B. username=cqq, und verwenden dann Request("username").
Werden die Daten aus Get oder aus Post entnommen?
Wenn die Frage an diesem Punkt ankommt, sollte jeder darüber nachdenken. Die Reihenfolge lautet von vorne nach hinten: QueryString, Form und schließlich ServerVariables. Das Request-Objekt durchsucht die Variablen in diesen Sammlungen in dieser Reihenfolge. Wenn es eine Übereinstimmung gibt, wird es gestoppt und der Rest wird ignoriert. Also das obige Beispiel Request("username")
Was tatsächlich erhalten wird, sind die von der Get-Methode übermittelten Daten.
Um die Effizienz zu verbessern, unnötige Suchzeiten zu reduzieren und das Programm zu standardisieren, wird daher empfohlen, die Erfassungsmethode Request.Form("Benutzername") zu verwenden.
Das Folgende ist ein Testbeispiel. Nach der Übermittlung können Sie direkt ?username=aaa nach der zu testenden Adresse hinzufügen:
<%
Wenn request("submit")<>"" dann
Response.Write „Direkt abrufen:“& Request(“Benutzername“) & „<br>“
Response.Write „Get:“ & Request.QueryString(“Benutzername“) & „<br>“
Response.Write „Get Post:“ & Request.Form(“username“) & „<br>“
Ende wenn
%>
<form name=form1 action="" method=post>
<input type=test name="username" value="postuser">
<input type=submit name="submit" value="test">
</form>