Como posso definir um campo personalizado no cabeçalho POST ao enviar um formulário?
javascript
html
post
http-post
httprequest
Reza Owliaei
fonte
fonte
XmlHttpRequest
você quer dizer? Ou apenas uma postagem de FORMULÁRIO em HTML simples?Respostas:
Isso não pode ser feito - AFAIK.
No entanto, você pode usar por exemplo jquery (embora possa fazê-lo com javascript simples) para serializar o formulário e enviar (usando AJAX) enquanto adiciona seu cabeçalho personalizado.
Veja o jquery
serialize
que muda um FORM HTML emform-url-encoded
valores prontos para POST.ATUALIZAR
Minha sugestão é incluir
fonte
Defina um valor de cookie na página e leia-o no lado do servidor.
Você não poderá definir um cabeçalho específico, mas o valor estará acessível na seção de cabeçalhos e não no corpo do conteúdo.
fonte
Da documentação FormData :
Com um,
XMLHttpRequest
você pode definir os cabeçalhos personalizados e depois fazer oPOST
.fonte
Na verdade, a melhor maneira de fazer isso é salvar um cookie no lado do cliente. Em seguida, o cookie é enviado automaticamente com cada cabeçalho de página desse domínio específico.
No node-js, você pode configurar e usar cookies com o analisador de cookies .
um exemplo:
Agora você pode acessar:
Observe que isso
httpOnly:true
garante que o cookie geralmente não seja acessível manualmente ou por meio de javascript e apenas o navegador pode acessá-lo. Se você deseja enviar alguns cabeçalhos ou tokens de segurança com uma postagem de formulário, e não por meio de ajax, na maioria das situações isso pode ser considerado uma forma segura. No entanto, certifique-se de que os dados sejam enviados por protocolo / ssl seguro se você estiver armazenando alguma informação relacionada ao usuário sensível, o que geralmente é o caso.fonte
Aqui está o que eu fiz no pub / jade
fonte
Se você estiver usando JQuery com o plugin Form, você pode usar:
Fonte: https://stackoverflow.com/a/31955515/9469069
fonte
Você pode usar $ .ajax para evitar o comportamento natural de
<form method="POST">
. Você poderia, por exemplo, adicionar um evento ao botão de envio e tratar a solicitação POST como AJAX.fonte
Para adicionar em cada solicitação ajax, respondi aqui: https://stackoverflow.com/a/58964440/1909708
Para adicionar em solicitações Ajax específicas, veja como implementei:
Você deve adicionar os
meta
elementos no JSP, por exemploPara adicionar a uma solicitação de envio de formulário (síncrono), respondi aqui: https://stackoverflow.com/a/58965526/1909708
fonte