El problema sucede cuando intentamos hacer una petición AJAX a un backend o un API REST usando NodeJS y express, en mi caso paso al hacerlo desde un API REST.
Solución 1:
En el backend en el archivo app.js donde se configura los middlewares y las rutas escribimos el siguiente código:
var app = express(); app.use((req, res, next) => { res.header('Access-Control-Allow-Origin', '*'); res.header('Access-Control-Allow-Headers', 'Authorization, X-API-KEY, Origin, X-Requested-With, Content-Type, Accept, Access-Control-Allow-Request- Method'); res.header('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, DELETE'); res.header('Allow', 'GET, POST, OPTIONS, PUT, DELETE'); next(); });
Solución 2:
Si la primera solución no nos funciona, otra solución más drástica es crear otro proyecto y copiar todos los ficheros y carpetas dentro del nuevo proyecto.
Esperamos que te haya servido.