Tengo un pequeño problema con la conexión entre mi API Expressjs y el cliente React.
Express API -> http://localhost:3001 React -> http://exampleip:3000 (ambos están en el mismo servidor de Windows)
Agregué el paquete CORS y agregué el siguiente código
const express = require('express'); const cors = require('cors'); const app = express(); app.use(cors()); ... other code app.use('/testdata', async function (req, res) { const data = await receiveData(); res.send(data); });Si busco los datos con la aplicación de reacción en el servidor donde se encuentra el código, recibo los datos de la API Express sin problemas.
Si obtengo los datos con la IP de la aplicación de reacción en mi PC local o en una sesión de terminal Citrix (Windows) en la misma red (pero no en el mismo servidor de Windows), recibo los siguientes errores.
prefiero usar este codigo te ayudara
// init application const app = express(); // fix access to back-end app.use((req, res, next) => { // Website you wish to allow to connect res.setHeader("Access-Control-Allow-Origin", process.env.FRONTEND_APP_HOST); // Request methods you wish to allow res.setHeader( "Access-Control-Allow-Methods", "GET, POST, OPTIONS, PUT, PATCH, DELETE" ); // Request headers you wish to allow res.setHeader( "Access-Control-Allow-Headers", "X-Requested-With,content-type" ); // Set to true if you need the website to include cookies in the requests sent // to the API (eg in case you use sessions) res.setHeader("Access-Control-Allow-Credentials", true); // Pass to next layer of middleware next(); });