繁体   English   中英

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

[英]How can I extract a custom HTTP POST request header in JavaScript for it to be transmitted in another POST request?

我想使用 Javascript 从POST请求中提取自定义 HTTP请求header 以便稍后在请求中使用。 这需要一个POST请求的原因是这个自定义 header 仅包含在POST HTTP 方法中,而不是GET或其他 HTTP 动词。

假设自定义 HTTP POST请求 header 是X-CUSTOM-TOKEN 在将 X-CUSTOM-TOKEN 的值与以下内容(HTTP 表单)一起提交之前,如何从POST /中读取和提取X-CUSTOM-TOKEN的值:

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 构造的,那么您可以查询请求 object的标头。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM