Приложению React Native/Expo Go не удается отправить запрос к моему Node/Express APIAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Приложению React Native/Expo Go не удается отправить запрос к моему Node/Express API

Сообщение Anonymous »

Контекст таков: я использовал свой текущий API со своим веб-проектом React, но оказалось, что вместо этого нам нужно мобильное приложение, и я начал разрабатывать его с помощью React-native и Expo Go, я исследовал и обнаружил, что можно использовать мое приложение Node/Express, вообще не изменяя его внутри мобильного приложения.
это index.js моего сервера node/express:

Код: Выделить всё

const express = require("express");
const https = require("https");
const cors = require("cors");
const { Server } = require("socket.io");
const connectDB = require("./utils/database");
const orderRoutes = require("./routes/orderRoutes");
const inventoryRoutes = require("./routes/inventoryRoutes");

const app = express();
app.use(express.json());
app.use(cors());

connectDB();

app.use("/orders", orderRoutes);
app.use("/inventory", inventoryRoutes);

const server = https.createServer(app);
const io = new Server(server, {
cors: {
origin: "*",
methods: ["GET", "POST"],
},
});

io.on("connection", (socket) => {
console.log("New client connected");

socket.on("disconnect", () => {
console.log("Client disconnected");
});
});

app.get("/", (req, res) => {
res.send("Your server is working!");
});

const PORT = process.env.PORT || 5000;
server.listen(PORT, () => {
console.log(`Server running`);
});

Вот как я пытаюсь получить доступ к моему проекту, ориентированному на реагирование:

Код: Выделить всё

 useEffect(() => {
fetch("https://192.168.1.85:5000/inventory")
.then((response) => response.json())
.then((json) => console.log(json))
.catch((error) => console.error("Error fetching data:", error));
}, []);
Вот что я пробовал, но безуспешно:
  • Добавление прокси-сервера на серверную часть внутри приложения .json
  • Установка expo-build-properties и добавление «usesCleartextTraffic»: true
  • Использование localhost вместо ipv4
  • Пытаемся получить к нему доступ как с физического устройства, так и с эмулятора с помощью expo go
что следует учитывать:
  • Когда я получаю доступ к 192.168.1.85:5000/inventory в браузере как с телефона, так и с компьютера, он работает отлично, поэтому, по моему мнению, проблема возникает где-то в выставочном зале.
  • Использование любых развернутых серверных функций, например: https://jsonplaceholder.typicode.com/todos/1 (это исключает любые возможные проблемы с подключением к Интернету)
  • При проверке на вкладке «Сеть» там даже не отображается запрос, а это значит, что он даже не обращается к серверу каким-либо образом, что еще раз говорит мне, что это не проблема с моим сервером.
  • Я прочитал всю доступную информацию об этом, которую смог найти, и самые распространенные способы исправить это, которые я уже попробовал. Единственный вариант, который я не пробовал и который настоятельно рекомендуется, — это вариант, в котором вы изменяете файл с именем AndroidManifest.xml, потому что для меня он не существует.
Изображение

Это все имеющуюся информацию, о которой я мог подумать, дайте мне знать, если я смогу предоставить вам что-нибудь еще.

Подробнее здесь: https://stackoverflow.com/questions/783 ... xpress-api
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»