In ASP ist das Anforderungsobjekt ein sehr wichtiges Objekt, um die vom Kunden übermittelten Daten zu erhalten, und jeder ist sehr vertraut damit. Trotzdem fragen mich die Leute oft, was die folgenden Schreibmethoden unterschiedlich sind und wie ich sie schreiben soll?
strmessage = request ("msg")
strMessage = request.form ("msg")
Darüber hinaus habe ich auch den Code von vielen Personen gesehen, die alle in Anfrage ("") geschrieben wurden. Natürlich ist an diesem Schreiben nichts auszusetzen.
Aber jeder sollte aufpassen
Das Anforderungsobjekt verfügt über mehrere Sammlungen, um die vom Client eingereichten Daten zu erhalten. Im Allgemeinen werden häufig QueryString-, Form- und Servervariablen verwendet.
Unabhängig davon, welche Sammlung tatsächlich direkt durch Anfrage ("") erhalten wird, gibt es hier ein Problem.
Die GET -Methode und Post -Methode senden dieselbe Variable wie Benutzername = CQQ, und dann verwenden Sie Request ("Benutzername").
Werden die Daten von GET oder Post erhalten?
Wenn das Problem zu diesem Punkt kommt, sollten Sie denken, dass es eine Sequenz gibt, in der Anforderungen von diesen Sätzen von vorne nach hinten abgerufen werden
Die Reihenfolge ist QueryString, Form und schließlich Servervariables. In dieser Reihenfolge werden Anforderungsobjekte durchsucht
Wenn in diesen Sätzen Variablen enthalten, werden sie abgebrochen und die nachfolgenden Variablen werden ignoriert. Also die obige Beispielanforderung ("Benutzername")
Was abgerufen wird, sind tatsächlich die von der GET -Methode eingereichten Daten.
Um die Effizienz zu verbessern und die unnötige Suchzeit zu verkürzen, und auch für die Spezifikation des Programms, wird empfohlen, dass Sie die Anfrage verwenden.
Die Methode ist besser, wie z. B. Request.Form ("Benutzername").
Das Folgende ist ein Testbeispiel. Nach dem Senden können Sie direkt hinzufügen? Benutzername = AAA zur Prüfung der Adresse:
<%
IFREQUEST ("Submit") <> "" dann
Antwort.Write "direkt:" & request ("Benutzername") & "<br>"
Antwort.Write "Get:" & Request.queryString ("Benutzername") & "<br>"
Response.write "nimmt post:" & request.form ("username") & "<br>"
Endif
%>
<formname = form1ActAction = "" methode = post>
<inputType = testName = "userername" value = "postuser">
<inputType = subleName = "surug" value = "test">
</form>