¿deberíamos usar el método GET para enviar datos desde un formulario HTML, o el método POST en su lugar?
los métodos de acceso GET Y POST están definidos en el protocolo HTTP e incluidos en la especificación HTML. la elección del método depende de cómo se reciben los datos, el tamaño y la naturaleza de los datos.
el método GET agrega datos a la URL
en el formulario, se especifica de la siguiente manera:
<form method="get" action="page.html"></form>
con este método, los datos del formulario se codificarán en una URL., Se compone del nombre de la página o script a cargar, con los datos del formulario empaquetados en una cadena.
Los datos están separados de la dirección de la página por el ? código y entre ellos por el código &.
así que si envías a la página.html, los valores «color blue» y»Shape rectangle», la compilación de URL por el navegador será:
https://www.xul.fr/page.html?color=blue&shape=rectangle
la especificación HTML 4 Requiere el uso de GET cuando la solicitud no causa ningún cambio en los datos, luego para hacer una sola lectura. (Referencia).
los datos del formulario deben ser ASCII solamente., El tamaño de una URL está limitado a poco más de 2.000 caracteres, incluidos los códigos de escape.
tenga en cuenta que cuando el usuario utiliza el botón Atrás, las solicitudes GET se vuelven a ejecutar.
el método POST no tiene límite de tamaño
en el formulario, se especifica de la siguiente manera:
<form method="post" action="page.php"></form>
Este método envía un encabezado y un mensaje de cuerpo al servidor. El cuerpo generalmente consiste en datos ingresados en los campos del formulario por el usuario.
los datos del formulario no aparecen en la URL., En consecuencia, no es posible recuperar datos directamente en JavaScript, debe agregar algún código PHP en la página:
<?php $color = $_POST; $shape = $_POST;?>... HTML code ...
sin embargo, puede asignar datos recuperados a través de PHP a un script JavaScript:
<script> var color = <?php echo $color;?>; var shape = <?php echo $shape;?>;</script>
conclusión
el método GET es el valor predeterminado. Es usarlo a menos que no desee que los parámetros se agreguen a la URL. Permite recuperar datos pasados a la página con código JavaScript.,
el método POST es esencial para códigos no ASCII, para datos grandes, y se recomienda cambiar los datos en el servidor y para datos sensibles como explica el W3C..
Al usar POST, debe integrar PHP (u otro lenguaje) en la página donde se utilizarán los datos.
vea también
- envío y recepción de datos de formularios.
- obtener vs. publicar en Ajax.