/**
Descripción: Pequeños problemas a los que debe prestar atención al utilizar el objeto de solicitud ASP Autor: Ci Qinqiang
Correo electrónico: [email protected]
**/
En ASP, el objeto Solicitud es un objeto muy importante para obtener los datos enviados por el cliente y todos lo conocen muy bien.
Aun así, la gente suele preguntarme ¿cuáles son las diferencias entre los siguientes métodos de escritura y cómo deberían escribirse?
strMessage = Solicitud ("mensaje")
strMessage = Request.Form("msg")
Además, he visto códigos escritos por muchas personas y todos están escritos en forma Request ("") Por supuesto, no hay nada de malo en esta forma de escribir.
Pero todos deberían prestar atención.
El objeto Request tiene varias colecciones para obtener los datos enviados por el cliente. Las más utilizadas son QueryString, Form y ServerVariables.
No importa qué tipo de colección, se puede obtener directamente a través de Solicitud (""). Aquí hay un problema.
El método Get y el método Post envían la misma variable, como nombre de usuario = cqq, luego usa Solicitud ("nombre de usuario")
¿Los datos se extraen de Get o de Post?
Entonces, cuando la pregunta llega a este punto, todos deberían pensar en ello. La solicitud toma los datos de estas colecciones en orden. El orden de adelante hacia atrás es QueryString, Form y finalmente ServerVariables. El objeto Solicitud busca las variables en estas colecciones en este orden. Si hay una coincidencia, se detendrá y el resto se ignorará. Entonces el ejemplo anterior Solicitud ("nombre de usuario")
Lo que realmente se obtiene son los datos enviados por el método Get.
Por lo tanto, para mejorar la eficiencia, reducir el tiempo de búsqueda innecesario y también para estandarizar el programa, se recomienda utilizar el método de recopilación de solicitudes, como Request.Form ("nombre de usuario").
El siguiente es un ejemplo de prueba. Después del envío, puede agregar directamente ?username=aaa después de la dirección a probar:
<%.
Si solicitud("enviar")<>"" entonces
Respuesta.Escriba "Obtener directamente:"& Solicitud("nombre de usuario") & "<br>"
Respuesta.Escribir "Obtener:" & Request.QueryString("nombre de usuario") & "<br>"
Response.Write "Obtener publicación:" & Request.Form("nombre de usuario") & "<br>"
terminar si
%>
<nombre del formulario=form1 acción="" método=publicación>
<tipo de entrada=nombre de prueba="nombre de usuario" valor="postusuario">
<tipo de entrada=enviar nombre="enviar" valor="prueba">
</formulario>