página - href html ejemplos
Uso del método POST con etiquetas de anclaje HTML (4)
Estoy seguro de que la respuesta será "NO", pero quería preguntar de todos modos, solo en caso de que me haya perdido algo.
Todo el mundo sabe que uno pasa datos a una página en una etiqueta de anclaje utilizando el método GET:
Lo que me pregunto es si hubiera una manera de hacer lo mismo, pero ¿utilizar el método POST en su lugar?
Mi propósito al hacerlo es mantener las URL que el usuario ve limpias al no poner nada en ellas que no necesitan ver.
Esto no tiene nada que ver con los problemas de seguridad, ya que sé que habría formas de obtener los datos que se están pasando.
Si la respuesta es no, ¿qué métodos utilizan las personas para pasar datos cuando existe el deseo de mantener las URL limpias? ¿Galletas? ¿Algo más?
y cómo lidiar con los escenarios cuando la longitud de la URL excede la longitud de solicitud GET permitida
Me enfrento a este problema al implementar la clasificación / paginación con displaytag, todos los parámetros de solicitud se agregan en la URL de clasificación / paginación, que es más que la longitud permitida de la solicitud GET.
Este comportamiento es específico para mostrar la biblioteca de etiquetas. Permite los resultados de búsqueda fácilmente marcable. Si realmente tiene la intención de cambiar esto para hacer uso de POST, entonces deberá volver a escribir la biblioteca de etiquetas de visualización o traer algo de jQuery para manipular los enlaces.
El remanente de sus preguntas no se reduce a ninguna parte. Si desea GET (solicitudes idempotentes, URLs que se pueden marcar, URLs que se pueden rastrear con búsqueda, etc.), utilice GET. Si desea POST (solicitudes no identificadas, direcciones URL que no se pueden marcar, direcciones URL que no se pueden rastrear, etc.), utilice POST.
Normalmente, POST es obligatorio cuando la solicitud puede modificar los datos en el servidor. Piense en un SQL INSERT
, UPDATE
, DELETE
, etc. Ciertamente, no hará este tipo de solicitudes GET. Imagina que tienes una tabla con todos los enlaces de "eliminar fila" que hacen GET y luego aparece un searchbot ...
Podrías hacer algo como esto:
<form id="myform" method="post" action="target.html">
<input type="hidden" name="name" value="value" />
<a onclick="document.getElementById(''myform'').submit();">click here</a>
</form>
Puede crear un formulario temporal y enviarlo mientras hace clic en el evento de la etiqueta <a>
.
Puedes usar javascript. En un clic del link do form.submit
La única forma que conozco de tratar con la URL extensa es utilizar POST.