Implementé un servidor nodejs + express en heroku, y cuando intento usarlo, aparece el error:
"El acceso a XMLHttpRequest en 'https://harel-shop-backend.herokuapp.com/auth/autologin' desde el origen 'http://localhost:3000' ha sido bloqueado por la política de CORS: la respuesta a la solicitud de verificación previa no pasa verificación de control de acceso: no tiene el estado HTTP ok".
en el navegador.
este es mi código app.ts -
import './db/mongoose'; import HttpError from './model/http-error'; import cors from 'cors'; import authRoutes from './routes/auth.router'; import productRouter from './routes/product.router'; const app = express(); app.use(cors()); app.use(express.json()); app.use(express.urlencoded({ extended: false })); app.use((req, res, next) => { res.setHeader('Access-Control-Allow-Origin', '*'); res.setHeader( 'Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept, Authorization ,AuthorizationRefresh ,user' ); res.setHeader( 'Access-Control-Allow-Methods', 'OPTIONS, GET, POST, PATCH, DELETE' ); next(); }); app.use('/auth', authRoutes); app.use('/products', productRouter); app.use((req, res, next) => { throw new HttpError('couldnt find this route', 404); }); app.use((error: any, req: Request, res: Response, next: NextFunction) => { if (res.headersSent) { return next(error); } res.status(error.code || 500); res.json({ message: error.message || 'an unknown error occurred' }); }); app.listen(3030, () => { console.log('server is running'); }); Intenté instalar extensiones en mi navegador para deshabilitar cors pero no funcionó,
Traté de agregar ('Access-Control-Allow-Origin', '*') pero tampoco funcionó.
instalé el paquete cors y lo usé en la línea 10, tampoco funcionó
Así que arreglé el problema e hice 2 cosas,
web: node dist/app.jsprocess.env.PORT || 3030 a la función app.listen