当前位置: 首页 > 知识库问答 >
问题:

React Native Fetch返回网络请求失败

宋稳
2023-03-14

我正在使用React Native开发一个简单的应用程序。我正在Genymotion Android Emulator上测试它。我已经创建了本地web服务器来侦听请求,它正在运行http://localhost:8082/API/.我已经测试了api,工作正常。然后,我从索引中发出一个获取请求。Androidjs。

以下是来自React本机代码的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 url。有什么建议吗?之前谢谢你

共有2个答案

轩辕鸿祯
2023-03-14

您可以使用ngrok覆盖网络请求。Android是一个模拟器,当你获取127.0.0.1版本时,它就会进入本地手机。ngrok将创建一个可从web访问的链接,并重定向到本地web服务器。

经骁
2023-03-14

我已经解决了。只需更改API urlvar url="http://127.0.0.1:8082/API/中的React Code. tovar url="超文本传输协议://local-ip-Address: 8082/API/检查您的本地ip只需从命令行/cmd运行ipconfig

 类似资料:
  • 我正在Android系统中进行网络通信项目,但我的应用程序不起作用!经过一些调试,我发现每个网络请求都有来自系统的空响应。 我尝试了很多方法,例如:1)硬重启手机2)将所有网络权限添加到清单文件中 3)使用本地网络(我的手机作为服务器)4)让所有应用程序连接到网络:设置 但!什么也没发生... 这是我的类似问题链接,但在这个主题中没有答案:无法仅在我的Android应用程序中连接到互联网。连接in

  • 问题内容: 当我使用(RN版本0.29.1)创建一个全新的项目并将提取内容放入公共Facebook演示电影API的render方法中时,它将引发。堆栈跟踪非常无用,我无法在chrome控制台中调试网络请求。这是我要发送的内容: 问题答案: 这里的问题是,iOS默认情况下不允许HTTP请求,仅允许HTTPS。如果要启用HTTP请求,请将其添加到您的:

  • 当我使用(RN版本0.29.1)创建一个全新的项目,并将render方法中的一个fetch放到公共facebook演示电影API中时,它会抛出一个。有一个非常无用的堆栈跟踪和我不能调试网络请求在chrome控制台。以下是我正在发送的fetch:

  • Mpx提供了网络请求库fetch,抹平了微信,阿里等平台请求参数及响应数据的差异;同时支持请求拦截器,请求取消等 使用说明 import mpx from '@mpxjs/core' import mpxFetch from '@mpxjs/fetch' mpx.use(mpxFetch) // 第一种访问形式 mpx.xfetch.fetch({ url: 'http://xxx.com' }

  • 我面临一个非常奇怪的问题: 我尝试获取一个反应本机应用程序。在物理iPhone一切正常,在模拟器上我得到错误“网络请求失败”。 API是https,我已经更改了信息。plist允许NSAllowsArbitraryLoads。 我nfo.plist: 我建议是证书之类的。

  • 我正在使用react.js应用程序调用API。我从AWS API网关收到关于CORS策略的错误: CORS策略阻止从来源“http://localhost:3000”访问位于“https://awsapigatewayid.execute-api.ap-south-1.amazonaws.com/staging/top10”的XMLHttpRequest:飞行前响应中的access-control