我如何在 React.js 中获取 http 标头

IT技术 node.js reactjs http-headers react-router
2021-05-17 07:18:26

我已经向 React 页面发出请求,我需要从请求中获取标头。

我通过 URL 调用页面:

http://本地主机/仪表板

我设置了标题,例如 authcode=1234。

然后我用这条路线加载页面:

<Route path="dashboard" name="dashboard" component={Dashboard} onEnter={requireAuth}></Route>

有没有像this.props.header这样的东西,我可以在页面构造函数中调用?

2个回答

无法通过客户端 JavaScript 访问页眉。您可以在服务器端获取这些请求标头,然后将它们传递到index.html您的 React 应用程序中。例如:

//in index.html
<head>
...
  <script>
    window.__INITIAL_HEADERS__ = {/* page headers */};
  </script>
</head>
<body>
...
</body>

然后在您的应用程序中,您可以通过window.__INITIAL_HEADERS__变量访问标头

如果不通过 javascript 发送 http 请求,您将无法获取当前页面标题。有关更多信息,请参阅此答案

在您的服务器上添加一个虚拟 api url,并在您的页面加载后点击它,然后您就可以获得标题。

class App extends React.Component{
    //some code
    componentDidMount(){
       fetch(Some_API).then(response=>{
           console.log(response.headers)
       })
    }
    //some code
}