2016-05-18 1 views
1

は、私がログインしたときにhttp://localhost:8080/にリダイレクトのNode.jsアプリケーションを持っているリダイレクトロードしようとすると、次のようになります。は、ルータに反応 - これはexpressJSを使用して行われ_ = _上

res.redirect('http://localhost:8080/');

開発

Request URL: http://localhost:8080/ 
Request Method: GET 
Status Code: 304 Not Modified 
Remote Address: 127.0.0.1:8080 

ローカルホストで:Chromeのツールは、それが以下を実行するように期待どおりにリダイレクトされることを示し8080は、ルーティングを処理するために反応するルータを使用する反応するアプリケーションがあります。リダイレクトをスキップ

const routes = <Route component={AppContainer}> 
    <Route path="/" component={DashboardContainer} /> 
    <Route path="settings" component={SettingsContainer}> 
    <Route path="projects" component={ProjectsContainer}> 
     <Route path="new" component={NewProject} /> 
    </Route> 
    <Route path="views" component={ViewsContainer}> 
     <Route path="new" component={NewView} /> 
     <Route path=":id" component={EditView} /> 
    </Route> 
    <Route path="themes" component={Themes} /> 
    </Route> 
</Route>; 

しかし、私は直接私のブラウザでhttp://localhost:8080/またはhttp://localhost:8080をロードする場合、アプリケーションが、しかし'Warning: [react-router] Location "/_=_" did not match any routes'

を与えるhttp://localhost:8080/#/_=_?_k=1yp57hにリダイレクトされます何らかの理由(のために:このための構成は、次のようになります。一部)は、http://localhost:8080/#/?_k=y8p8c9をロードし、アプリケーションは正常に動作します。

何が起こっているのでしょうか?

答えて

1

解決済み! node.jsの認証プロセスはFacebookに統合されました。それはFacebookからのコールバックURLで、URL末尾に#=を返します。res.redirect('http://localhost:8080/');を実行していたとき、ハッシュを保持していました(これはブラウザの動作方法とは思われませんでした)。私は何もないようにハッシュを強制的に問題を解決するにはhttp://localhost:8080/#_=_

にリダイレクト: res.redirect('http://localhost:8080/#');

関連する問題