3

React Native を使用してシンプルなアプリを開発しています。Genymotion Android Emulator でテストしています。リクエストをリッスンするローカル Web サーバーを作成しました。これはhttp://localhost:8082/API/で実行されています。私はAPIをテストし、正しく機能しています。次に、 index.android.jsからフェッチ リクエストを行います。

React Native コードからの API サンプル リクエストは次のとおりです。

var api = { getUser(){
        var url = "http://127.0.0.1:8082/API/";
        return fetch(url)
            .then((res) => res.json())
            .catch(
                (error)=>{
                    console.log('error' + error.message);
                    throw error;
                }
            );
    }
}
module.exports = api;

これがApiサーバーのコードです(flightPHPで構築)

Flight::route('GET /',function(){
try{
$db = new PDO('mysql:host=localhost;port=3307;dbname=testapp', 'root','');
    $stmt = $db->prepare("SELECT * FROM user LIMIT 1");
    $stmt->execute();
    header('Content-type: application/json');
    echo json_encode($stmt->fetchAll(PDO::FETCH_ASSOC));

    $db = null;

}catch(Pdoexception $e){
    echo $e->getMessage();
}
});

この呼び出しを実行した後、Network Request Failed() を受け取ります。AndroidシミュレーターがAPI URLを認識していないようです。なにか提案を ?前にありがとう

4

2 に答える 2

2

私はすでに解決しました。var url = "http://127.0.0.1:8082/API/React コードの API URL を変更するだけです。ローカルIPをvar url = "http://local-ip-address:8082/API/ 確認するには、コマンドライン/ cmdからipconfigを実行するだけです

于 2016-09-15T06:46:18.083 に答える