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

Way*_*eio 7 http-headers node.js reactjs react-router

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

我通过URL调用页面:

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

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

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

<Route path="dashboard" name="dashboard" component={Dashboard} onEnter={requireAuth}></Route>
Run Code Online (Sandbox Code Playgroud)

有什么像this.props.header,我可以在页面构造函数中调用?

GPr*_*ost 7

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

//in index.html
<head>
...
  <script>
    window.__INITIAL_HEADERS__ = {/* page headers */};
  </script>
</head>
<body>
...
</body>
Run Code Online (Sandbox Code Playgroud)

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


Anu*_*thi 4

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

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

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

  • 不认为是同一个请求!这是一个新的 HTTP 请求!所以它可能不具有相同的标头。 (4认同)