当前位置: 首页 > 知识库问答 >
问题:

javascript - HTML的页面的请求,是否可以用js函数获取到当前请求的请求头?

尉迟轶
2024-03-20

请问,比如我一个针对html的请求,

http://demo.com/aaa.html

请求头中有一个请求头: x-reqid: 00011111

请问下,我是否可以在aa.html中有一个js函数,解析到本次请求的id。然后加速到html DOM中?

共有2个答案

施博文
2024-03-20

不能,JS 不能查看当前请求的响应头。

不过,既然你的服务器能在响应头里添加这个 id,那么理论上也可以通过其它方式把它传出来。

费锋
2024-03-20

不能

出于安全和隐私的考虑,JavaScript 在客户端无法直接访问 HTTP 请求头。它只能访问到响应头(Response Headers)中的部分信息,例如 Content-TypeSet-Cookie 等。

如果你需要在客户端获取到某种特定的信息,并将其插入到 HTML DOM 中,你可以考虑将这些信息作为查询参数(Query Parameters)或者作为响应体(Response Body)的一部分返回。然后,JavaScript 可以解析这些参数或响应体,并将信息插入到 DOM 中。

例如,你可以将 x-reqid 作为查询参数返回:

http://demo.com/aaa.html?reqid=00011111

然后在 JavaScript 中解析这个参数:

var urlParams = new URLSearchParams(window.location.search);var reqid = urlParams.get('reqid');// 然后你可以将 reqid 插入到 DOM 中document.getElementById('someElementId').textContent = reqid;

但是请注意,这并不能满足所有的需求。如果你的需求是必须从请求头中获取某些信息,那么你可能需要考虑其他的解决方案,例如使用服务器端渲染(SSR)或者服务器端 JavaScript(如 Node.js)来生成 HTML 页面。

 类似资料:
  • 我有一个具有OAuth2授权的Spring Cloud应用程序: 我添加了这个安全配置: github:https://github.com/rcbandit111/OAuth2/blob/master/src/main/java/org/engine/security/WebSecurityConfig.java 打开Angular应用程序时,出现访问错误: 您知道我需要应用什么配置才能在没有强

  • 问题内容: 我想在过滤器/ servlet中拦截请求,并向其中添加一些参数。但是,该请求不会公开’setParameter’方法,并且该参数映射在被操纵时会抛出错误,表明已被锁定。有没有其他我可以尝试的方法? 问题答案: 子类化并覆盖方法。该类的描述为: 提供HttpServletRequest接口的便捷实现,希望希望使请求适应Servlet的开发人员可以将其子类化。 在过滤器中,将请求包装在子类

  • 我试图使一个宁静的控制器上传文件。我看到了这一点,做了这个控制器: 然后我用邮递员发送了一份pdf: 但服务器崩溃,出现以下错误: 我再次找到了这个,并添加了一个文件 不幸的是,它仍然抱怨同样的错误。

  • 问题内容: 我试图使一个宁静的控制器来上传文件。我已经看到 了,并做了这个控制器: and then i used postman to send a pdf: But the server crashes with the error: 我再次找到了这个,并添加了一个bean.xml文件 不幸的是,它仍然抱怨相同的错误。 问题答案: 当您将邮递员用于多部分请求时,请不要 在页眉中指定自定义Con

  • 我用的是Spring靴。我已经为SOAP web服务编写了一个ClientInterceptor,我想记录我要向其发送请求的URL,并且我想在HandlerResponse方法中这样做。然而,我找不到一个方法来做到这一点。有可能吗?任何帮助都会很好。 创建restTemplate的方式

  • 在其生命周期的各个阶段截取和修改请求的内容 进程: 主进程​ WebRequest类的实例是通过使用 Session的 webRequest属性来访问。 每个 API 接收一可选的 filter 和 listener,当 API 事件发生的时候使用 listener(details) 调用 listener, details 是一个用来描述请求的对象.将 null作为 listener传递将取消订