¿Cómo puedo configurar un campo personalizado en el encabezado POST al enviar un formulario?
javascript
html
post
http-post
httprequest
Reza Owliaei
fuente
fuente
XmlHttpRequest
quieres decir? ¿O simplemente una publicación en formato HTML simple?Respuestas:
No se puede hacer - AFAIK.
Sin embargo, puede usar, por ejemplo, jquery (aunque puede hacerlo con javascript simple) para serializar el formulario y enviarlo (usando AJAX) mientras agrega su encabezado personalizado.
Mire el jquery
serialize
que cambia un FORMATO HTML enform-url-encoded
valores listos para POST.ACTUALIZAR
Mi sugerencia es incluir
fuente
Establezca un valor de cookie en la página y luego léalo del lado del servidor.
No podrá establecer un encabezado específico, pero se podrá acceder al valor en la sección de encabezados y no en el cuerpo del contenido.
fuente
Desde la documentación de FormData :
Con un
XMLHttpRequest
puede configurar los encabezados personalizados y luego hacer elPOST
.fuente
De hecho, una mejor manera de hacerlo es guardar una cookie en el lado del cliente. Luego, la cookie se envía automáticamente con cada encabezado de página para ese dominio en particular.
En node-js, puede configurar y usar cookies con el analizador de cookies .
un ejemplo:
Ahora puedes acceder a esto:
Tenga en cuenta que
httpOnly:true
garantiza que la cookie no sea generalmente accesible de forma manual o mediante javascript y que solo el navegador pueda acceder a ella. Si desea enviar algunos encabezados o tokens de seguridad con una publicación de formulario, y no a través de ajax, en la mayoría de las situaciones, esto puede considerarse una forma segura. Aunque asegúrese de que los datos se envíen a través de un protocolo seguro / ssl si está almacenando información confidencial relacionada con el usuario, que suele ser el caso.fuente
Esto es lo que hice en pub / jade
fuente
Si está usando JQuery con el complemento Form, puede usar:
Fuente: https://stackoverflow.com/a/31955515/9469069
fuente
Puede usar $ .ajax para evitar el comportamiento natural de
<form method="POST">
. Podría, por ejemplo, agregar un evento al botón de envío y tratar la solicitud POST como AJAX.fuente
Para agregar a cada solicitud de ajax, la he respondido aquí: https://stackoverflow.com/a/58964440/1909708
Para agregar en solicitudes particulares de ajax, así es como implementé:
Debe agregar los
meta
elementos en la JSP, por ejemploPara agregar a una solicitud de envío de formulario (sincrónico), la he respondido aquí: https://stackoverflow.com/a/58965526/1909708
fuente