he configurado un frente y un backend para una aplicación que estoy desarrollando y quiero probar las solicitudes http enviadas de adelante hacia atrás mientras estos dos se ejecutan en localhost.
Solicitud de envío de código usando React:
async componentDidMount(){ const {data: posts}= await axios.get("localhost:8765/..."); }Código para el servidor de aplicaciones usando Express:
const express = require('express') const app = express() require('./routes/...')(app) app.listen(8765, () => { console.log("Server is listening on port 8765.") })El front-end se ejecuta en localhost 3000.
Este es el error que me sale:
Access to XMLHttpRequest at 'localhost:8765/...' from origin 'http://localhost:3000' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, chrome-untrusted, https.He probado varias soluciones que encontré en línea como:
var cors = require('cors'); app.use(cors({origin: 'http://localhost:3000'}));o:
app.use(function (req, res, next) { res.setHeader('Access-Control-Allow-Origin', 'http://localhost:8888'); res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE'); res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type'); res.setHeader('Access-Control-Allow-Credentials', true); next(); });o:
app.use(cors())Sin embargo, nada parece funcionar, sigo recibiendo el mismo error y he estado atascado en esto durante bastante tiempo. ¿Alguna idea?
Simplemente use res.setHeader('Access-Control-Allow-Origin', '*');