如何在 JavaScript 中提取自定义 HTTP POST 请求标头,以便在另一个 POST 请求中传输?



我想使用 Javascript 从POST请求中提取自定义 HTTP请求标头,以便稍后在请求中使用。这需要是一个POST请求的原因是,此自定义标头仅合并在POSTHTTP 方法上,而不是GET或其他 HTTP 谓词。

假设自定义 HTTPPOST请求标头为X-CUSTOM-TOKEN。在提交X-CUSTOM-TOKEN值之前,如何从POST /中读取和提取的值(HTTP 表单):

history.pushState('', '', '/');
document.body.innerHTML='<html><body style="background-color:black;"><form id="foobar" action="https://localhost:4449/" method="POST" enctype="multipart/form-data"><input type="hidden" name="access" value="true" /><input type="submit" value="Submit request" /></form></body></html>';
document.getElementById('foobar').submit();

我知道这个用例听起来很愚蠢,但它是出于教育目的,我可以更好地理解与HTTP传输有关的JavaScript。

非常感谢您的帮助。

这取决于。

如果请求是使用 Fetch API 构造的,则可以查询请求对象的标头。

但是,如果请求是使用 XMLHTTPRequest 构造的,则似乎没有任何方法可以从准备好但未发送的请求中获取标头。当然,如果代码是你的,你应该有权在配置 XHR 时访问这些值,这样你就可以利用这个机会将数据存储在以后可以检索的地方。

如果 XHR 是由您无法编辑的第三方代码构建的,那么您就不走运了。在这种情况下,您可以使用某种服务器端代理将数据回显给您。这在教育环境中并不罕见。

最新更新