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

时间:2017-06-04 13:49:20

标签: node.js reactjs http-headers react-router

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

我通过网址调用该页面:

http://localhost/dashboard

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

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

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

有类似this.props.header的东西,我可以在页面构造函数中调用吗?

2 个答案:

答案 0 :(得分:2)

您无法通过javascript发送当前页面标题而无需发送http请求。 请参阅此答案了解更多info

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

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

答案 1 :(得分:2)

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

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

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