CÓMO: Pasar datos de una página a otra mediante GET y POST

Este artículo se publicó anteriormente con el número E300104
Renuncia a responsabilidad de los contenidos de la KB sobre productos a los que ya no se ofrece asistencia alguna
El presente artículo se escribió para productos para los que Microsoft ya no ofrece soporte técnico. Por tanto, el presente artículo se ofrece "tal cual" y no será actualizado.
Resumen
Una de las acciones efectuadas más habitualmente en el desarrollo Web de las páginas Active Server (ASP) consiste en pasar datos de una página a otra para el procesamiento. Este artículo contiene ejemplos paso a paso para demostrar cómo llevar esto a cabo. Esto implica dos técnicas: una utiliza el método POST; y la otra, el método GET. Aunque existen niveles más profundos de complejidad sobre estos enfoques que quizás tenga en cuenta, en este artículo sólo se muestra cómo aplicar estas ideas.

NOTA: en estos ejemplos, sólo la segunda página de cada secuencia debe ser una página .asp, puesto que realmente sólo estas páginas contienen código de servidor para la demostración. Las páginas iniciales pueden ser .htm o .asp.

Volver al principio

Utilizar el método POST

Al utilizar el método POST, los valores para los controles HTML se envían a la página de la manera especificada en el atributo de acción. Para ello, siga estos pasos:
  1. Cree una nueva página .htm y llámela Gatherdata_post.htm. Para ello, en la versión 6.0 de Visual InterDev haga clic con el botón secundario del mouse (ratón) en Agregar, haga clic en Página HTML, escribaGatherdata_post.htmcomo el nombre de la página y, a continuación, haga clic en Abrir.
  2. Pegue el siguiente código en la nueva página:NOTA: antes de pegar este código, debe eliminar el código predeterminado que InterDev agrega cuando crea inicialmente la página. De lo contrario, habrá etiquetas repetidas.
    <html><head></head><body><FORM action="RetrieveData_Post.asp" id=form1 method=post name=form1>	Nombre: 	<br>	<INPUT id="txtFirstName" name="txtFirstName" >	<br>	Apellido: 	<br>	<INPUT id="txtLastName" name="txtLastName" >	<br>	<INPUT type="submit" value="Enviar"> </FORM></body></html>
  3. : antes de pegar este código, debe eliminar el código predeterminado que InterDev agrega cuando crea inicialmente la página. De lo contrario, habrá etiquetas repetidas.Guarde la página. Para ello, haga clic en Guardar Gatherdata_post.htm en el menú Archivo del IDE de Visual InterDev.
  4. : antes de pegar este código, debe eliminar el código predeterminado que InterDev agrega cuando crea inicialmente la página. De lo contrario, habrá etiquetas repetidas.Cree otra página denominada Retrievedata_post.asp. Pegue el siguiente código en la página y guárdela:
    <%@ Language=VBScript %><html><head></head><body><% Response.Write("Nombre: " & Request.Form("txtFirstName") & "<br>") Response.Write("Apellido: " & Request.Form("txtLastName") & "<br>") %></body></html>
  5. : antes de pegar este código, debe eliminar el código predeterminado que InterDev agrega cuando crea inicialmente la página. De lo contrario, habrá etiquetas repetidas.Ejecute Gatherdata_post.htm haciendo clic con el botón secundario del mouse (ratón) en la opción para abrirla con el explorador. Inserte unos valores para el nombre y el apellido y, a continuación, haga clic en Enviar.Tenga en cuenta que los datos insertados en Getdata_post.htm se enviaron mediante POST http a la página Retrievedata_post.asp para su recuperación mediante la colección Request.Form.
Volver al principio

Utilizar el método GET

Con el método GET, los valores para los controles HTML se envían a la página de la manera especificada en el atributo de acción y de forma similar al enfoque POST descrito anteriormente. Sin embargo, notará que los valores se envían en QueryString. Uno de los elementos que debe considerar al utilizar GET en vez de POST es que los valores están visibles en la dirección URL.

Para utilizar el método GET, efectúe los pasos siguientes:
  1. Cree una nueva página .htm y llámela Gatherdata_get.htm. Para ello, en la versión 6.0 de Visual InterDev, haga clic con el botón secundario del mouse (ratón) en el Explorador de proyectos, Agregar, en Página HTML, escribaGatherdata_get.htmcomo el nombre de la página y, a continuación, haga clic en Abrir.
  2. Pegue el siguiente código en la nueva página:NOTA: antes de pegar este código, debe eliminar el código predeterminado que InterDev agrega cuando crea inicialmente la página. De lo contrario, habrá etiquetas repetidas.
    <html><head></head><body><FORM action="RetrieveData_Get.asp" id=form1 method=GET name=form1>	Nombre: 	<br>	<INPUT id="txtFirstName" name="txtFirstName" >	<br>	Apellido: 	<br>	<INPUT id="txtLastName" name="txtLastName" >	<br>	<INPUT type="submit" value="Enviar" id=submit1 name=submit1> </FORM></body></html>
  3. : antes de pegar este código, debe eliminar el código predeterminado que InterDev agrega cuando crea inicialmente la página. De lo contrario, habrá etiquetas repetidas.Guarde la página. Para ello, haga clic en Guardar Gatherdata_get.htm en el menú Archivo del IDE de Visual InterDev.
  4. : antes de pegar este código, debe eliminar el código predeterminado que InterDev agrega cuando crea inicialmente la página. De lo contrario, habrá etiquetas repetidas.Cree otra página denominada Retrievedata_get.asp. Pegue el siguiente código en la página y guárdela:
    <%@ Language=VBScript %><html><head></head><body><% Response.Write("Nombre: " & Request.QueryString("txtFirstName") & "<br>") Response.Write("Apellido: " & Request.QueryString("txtLastName") & "<br>") %></body></html>
  5. : antes de pegar este código, debe eliminar el código predeterminado que InterDev agrega cuando crea inicialmente la página. De lo contrario, habrá etiquetas repetidas.Ejecute Gatherdata_get.htm haciendo clic con el botón secundario del mouse (ratón) en la opción para abrirla con el explorador. Inserte unos valores para el nombre y el apellido y, a continuación, haga clic en Enviar.Tenga en cuenta que los datos insertados en Getdata_get.htm se enviaron mediante GET a la página Retrievedata_get.asp para su recuperación mediante la colección Request.QueryString. Como ha podido comprobar, es en la colección QueryString donde la página ASP de recuperación puede disponer de sus datos cuando utiliza GET como la acción para la página de envío y la colección Form se utiliza para recuperar los datos cuando implementa POST.
Volver al principio

REFERENCIAS

Para obtener información adicional, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:
254742 IIS: ASP Parsing of HTTP Form Data Using a Generic Collection
208427 INFO: Maximum URL Length Is 2,083 Characters in Internet Explorer
254786 PRB: Query String Truncated
Volver al principio
Properties

Article ID: 300104 - Last Review: 04/10/2003 10:32:01 - Revision: 2.0

Microsoft Active Server Pages 4.0

  • kbasp kbaspobj kbcodesnippet kbgrpdsasp kbhowto kbhowtomaster kbjscript kbsample kbscript kbvbscript KB300104
Feedback