2017-06-04 148 views
3

我向React頁面發出了請求,並且需要從請求中獲取標頭。如何在React.js中獲取http標頭

我通過URL調用頁面:

http://localhost/dashboard

,我設置標題,例如AUTHCODE = 1234。

然後我和這條路線加載頁面:

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

是有什麼樣this.props.header,我可以在頁面構造函數中調用?

+0

什麼標題?沒有'http-request'進行。通過react-router,您可以決定在哪個「路由」上顯示哪個組件。但是沒有http請求。如我錯了請糾正我。 – nrgwsth

+0

@anuragasaurus當我通過其他頁面瀏覽時,我明白你的意思。我正在談論來自另一個URL的第一個請求,通過標題。我已經更新了這個問題。 – Wayneio

回答

1

你不能通過javascript發送http請求來獲取當前頁面頭。 查看此答案以瞭解更多info

在您的服務器上添加一個虛擬api url,並在您的頁面載入後點擊它,然後您可以獲取標題。

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

無法通過客戶端JavaScript訪問頁面標題。您可以在服務器端獲取這些請求標頭,然後將它們傳遞到您的React應用的index.html。例如:

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

然後在你的應用程序,你可以通過window.__INITIAL_HEADERS__變量訪問頭。