Estoy tratando de enviar un POST desde un cliente conectado a este servidor a una URL externa. Recibo muchos errores 'CORS'. Estoy bastante seguro de que es porque no he permitido 'Access-Control-Allow-Origin' y etc. en mi servidor Node.JS. Pero no sé cómo hacerlo. He encontrado otras respuestas en la web, pero ninguna de ellas resolvió mi problema. Aquí está mi servidor:
var app = require('express')(); var http = require('http').Server(app); var io = require('socket.io')(http); const { instrument } = require('@socket.io/admin-ui') var bodyParser = require('body-parser') var clientesConectados = []; app.use( bodyParser.json() ); // to support JSON-encoded bodies app.use(bodyParser.urlencoded({ // to support URL-encoded bodies extended: true })); app.get('/', function(req, res){ //send the index.html file for all requests res.sendFile(__dirname + '/index.html'); }); app.post('/', (request, res) => { console.log("********************"); console.log(" >POST RECEBIDO!!"); console.log(res); postData = request.body; io.emit('message',postData); console.log(postData); }); http.listen(3000, function(){ console.log('listening on *:3000'); });Express tiene un middleware para CORS. Enlace aquí
Instale el paquete cors en su aplicación
npm instalar cors
Y luego agregue estas dos líneas allí
var cors = require("cors"); app.use(cors())De lo contrario, hay formas que se configuran a través del encabezado o podría usar un proxy en su interfaz, pero usar el paquete cors es más simple