Set headers in the handler: res.setHeader('Access-Control-Allow-Origin', 'https://myapp.com'); res.setHeader('Access-Control-Allow-Methods', 'GET, POST'); if (req.method === 'OPTIONS') return res.status(204).end();
How do you handle CORS in Next.js API routes?
More FAQs in CORS: Real-World Examples
Use the cors middleware: app.use(cors({ origin: ['https://myapp.com'], methods: ['GET', 'POST', 'PUT', 'DELETE'], credentials: true })). Or set headers manually and return 204 for OPTIONS.
In vite.config.js: server: { proxy: { '/api': { target: 'https://api.example.com', changeOrigin: true } } }. Requests to /api are proxied to the API, avoiding CORS (same-origin from the browser's perspective).
add_header Access-Control-Allow-Origin 'https://myapp.com'; add_header Access-Control-Allow-Methods 'GET, POST, PUT, DELETE'; if ($request_method = OPTIONS) { return 204; }. Add these to the location block for your API.
Still have questions?
Browse all our FAQs or reach out to our support team
Want to upskill yourself?
Your learning library
Small steps. Big possibilities.
Find your next course. Build something great.