从本地计算机上运行的服务器获取数据

时间:2018-05-01 10:22:44

标签: asp.net rest react-native networking request

我有以下问题。我通过向在我的本地计算机上运行的服务器发出api请求来获取数据。服务器是用ASP.NET编写的。我知道当我使用模拟器时,当我必须向localhost发出请求时,我应该将我的IP地址成功地调用我的本地计算机而不是模拟器。即使我改变到我正确的IP地址,我仍然有'网络请求失败'

这是我获取数据的代码

componentDidMount() {
        fetch('http://IpAdress:54372/api/cars')
             .then((response) => response.json())
            .then((responseJson) => this.setState({cars: responseJson}))
            .catch((error) => {
            console.error(error);
        })
        ;
    }

的package.json

"react": "^16.3.0-alpha.2",
"react-native": "0.55.3",

2 个答案:

答案 0 :(得分:0)

通过Wi-Fi连接

您还可以通过Wi-Fi连接到开发服务器。您首先需要使用USB电缆在设备上安装应用程序,但一旦完成,您可以按照这些说明进行无线调试。

在继续操作之前,您需要使用开发机器的当前IP地址。

打开终端并输入/ sbin / ifconfig以查找计算机的IP地址。

确保您的笔记本电脑和手机位于同一Wi-Fi网络上。

在您的设备上打开您的React Native应用。 您会看到一个错误的红色屏幕。还行吧。以下步骤将解决这个问题。 打开应用内开发者菜单。 转到开发设置→设备的调试服务器主机。 键入计算机的IP地址和本地开发服务器的端口(例如10.0.1.1:8081)。 返回Developer菜单并选择Reload JS。

您现在可以从“开发人员”菜单启用实时重新加载。只要您的JavaScript代码发生变化,您的应用就会重新加载。

答案 1 :(得分:0)

以与列出localhost相同的方式将您的IP地址添加到Info.plist:

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSExceptionDomains</key>
    <dict>
        <key>localhost</key>
        <dict>
            <key>NSExceptionAllowsInsecureHTTPLoads</key>
            <true/>
        </dict>
        <key>your.ip.adress.here</key>
        <dict>
            <key>NSExceptionAllowsInsecureHTTPLoads</key>
            <true/>
        </dict>
    </dict>
</dict>