React Native 构建不向 http 服务器发送请求

React Native build does not send request to http server

提问人:Andre 提问时间:11/12/2023 最后编辑:timotglAndre 更新时间:11/13/2023 访问量:52

问:

当我在 .apk 中构建应用程序并在手机上测试应用程序时,当我发送请求时,我会得到一个AxiosError: Network Error

大家好!我在开发中使用 Expo。发送请求时,我先用,现在我用(我以为这样就能解决问题)。在开发过程中,一切正常:请求被发送到服务器,我收到来自服务器的响应,一切都很好,很棒。当我在手机上编译应用程序并测试应用程序时,当我发送请求时,我收到错误。这是对服务器的请求的样子(出于安全原因,我用字母隐藏了地址):fetchaxios.apkAxiosError: Network Errorx

`await axios.post('http://xx.xxx.xxx.xxx:3000/api/reg', reg_data, {
    headers: { 
        'Accept': 'application/json',
        'Content-Type': 'application/json; charset=utf-8',
        'Access-Control-Allow-Origin': '*',
        'Access-Control-Allow-Headers': 'Content-Type,Authorization',
        'Access-Control-Allow-Methods': 'GET,PUT,POST,DELETE,OPTIONS'
    }
})
    .then(async(response) => {
        result = {id: response.data.id, error: false}
    })
    .catch(async error => {
        result = {id: false, error}
    })`

我检查了一下,一切正常。上的服务器。如果没有足够的信息,请写在评论中,我会向您展示所有内容。请帮帮我。Postmanexpress.js

javascript android reactjs react-native axios

评论

0赞 Gabe Sechan 11/12/2023
使用的 IP 地址是网络上的真实公共 IP 地址,还是本地服务器?如果是本地服务器,您是否在同一个 wifi 网络上(不是蜂窝网络)?您是否在您使用的任何路由器/防火墙/NAT 上戳了一个洞?
0赞 Andre 11/12/2023
我正在使用带有 http 协议的公共 ip
0赞 Gabe Sechan 11/12/2023
HTTP 可能是一个问题。没有人应该再使用 http。使用 https。默认情况下,Android 无法加载 http 网站,并且 Play 商店不会接受使用 http 网址的应用。

答:

0赞 Serkan Eken 11/12/2023 #1

请将 cors 添加到您的:express

const express = require('express');
const cors = require('cors');
const app = express();
app.use(cors());

评论

0赞 Andre 11/12/2023
我已经有了。无济于事:(