2016-09-15 170 views
2

我正在使用React Native开发一个简单的应用程序。我正在Genymotion Android模拟器上测试它。我创建了本地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(); 
} 
}); 

执行此调用后,我收到网络请求失败( )。它似乎android模拟器不承认的API网址。任何建议?谢谢

回答

2

我已经解决了。只需在React Code中更改API url var url = "http://127.0.0.1:8082/API/即可。到var url = "http://local-ip-address:8082/API/ 检查你的本地ip只是从命令行运行ipconfig/cmd

相关问题