如何在POST表单上设置Header字段?

如何在提交表单时在POST标题中设置自定义字段?

它不能做 – AFAIK。

然而,你可以使用例如jquery(尽pipe你可以用普通的javascript)来序列化表单并发送(使用AJAX),同时添加自定义标题。

看看jQuery的serialize ,将HTML FORM更改为form-url-encoded值,准备POST。

UPDATE

我的build议是包括

  • 一个隐藏的表单元素
  • 查询string参数

在页面上设置一个cookie值,然后将其读回服务器端。

您将无法设置特定的标题,但该值可以在标题部分访问,而不是内容主体。

从FormData文档:

XMLHttpRequest Level 2增加了对新的FormData接口的支持。 FormData对象提供了一种方法来轻松构build一组代表表单字段和它们的值的键/值对,然后可以使用XMLHttpRequest send()方法轻松发送。

使用XMLHttpRequest您可以设置自定义标题,然后执行POST

您可以使用$ .ajax来避免<form method="POST">的自然行为。 例如,您可以将事件添加到提交button,并将POST请求视为AJAX。

这是我在酒吧/玉器里做的

 extends layout block content script(src="/jquery/dist/jquery.js") script. function doThePost() { var jqXHR = $.ajax({ type:'post' , url:<blabla> , headers: { 'x-custom1': 'blabla' , 'x-custom2': 'blabla' , 'content-type': 'application/json' } , data: { 'id': 123456, blabla } }) .done(function(data, status, req) { console.log("done", data, status, req); }) .fail(function(req, status, err) { console.log("fail", req, status, err); }); } h1= title button(onclick='doThePost()') Click