2016-12-28 57 views
3

有沒有人有這個問題?我正在使用WebView通過Facebook登錄到我的網頁。如果用戶成功登錄,它會將用戶重定向到另一個屏幕。react-native中的WebView獲取錯誤「遇到錯誤加載頁面」

我正在使用'react-native-router-flux'。但是,我遇到了一個問題「遇到錯誤加載頁面」。它確實將我重定向到「PresentationScreen」組件,但我仍然有警告&抽屜是我的「PresentationScreen」不存在了。

據我所知,因爲服務器正在嘗試將我重定向回本地主機。但在onNavigationStateChange中,我已將其重定向到另一個組件。

以下是錯誤:

{canGoForward: false, code: -6, canGoBack: false, description: "net::ERR_CONNECTION_REFUSED", loading: false, target: 57, url: "http://localhost:8100/?operation=%2Flogin%2Ffacebook&success=true&message=Account+already+exists"} 

這裏是我的登錄頁面組件:

import { Actions as NavigationActions } from 'react-native-router-flux'; 

class LoginScreen extends React.Component { 

    constructor (props: LoginScreenProps) { 
    super(props); 
    } 

    handleNavigationStateChange = (event) => { 
    if (event.url.includes('operation=%2Flogin%2Ffacebook&success=true')) { 
     NavigationActions.presentationScreen(); 
    } 
    }; 

    render() { 
    return (
     <WebView source={{uri: 'https://api.taskuparkki.fi/api/login/facebook'}} 
       onNavigationStateChange = {this.handleNavigationStateChange} 
     /> 
    ) 
    } 
} 

,如果有人發現了一個關於它的解決方案,我將不勝感激。

回答

2

通過IP服務器地址更改'localhost',我認爲你的情況就是你的IP。你應該在你的Facebook開發者控制檯上進行更改。

讓我知道它是否有效。

+0

你的意思是改變從服務器返回到IP服務器地址的本地主機地址?該網址將成爲'http://example.com/?operation =%2Flogin%2Ffacebook&success = true&message = Account + already + exists'? –

+0

的確,如果你想使用「example.com」,你應該修改你的主機文件並添加DNS參考。開始使用您的本地IP地址進行測試,或者使用您的服務器中正在使用的任何地址。 –

+0

好的,徵求意見。由於我沒有服務器的許可,這需要幾天的時間。 –