I created api using nodejs express mongodb and its giving cors error when i call api from angular application. I deployed this api on render then its working but gives an error on local. Error Access to XMLHttpRequest at 'localhost:3000/api/auth/login' from origin 'http://localhost:4200' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, isolated-app, brave, https, chrome-untrusted, data, chrome-extension, chrome. auth.service.ts:38 POST localhost:3000/api/auth/login net::ERR_FAILED schedu I have installed cors and added app.use(cors({origin : "*"})) or app.use(cors({origin : "http://localhost:4200/"})) But it still giving error. Also, I tried adding this app.use((req, res, next) => { res.setHeader("Access-Control-Allow-Origin", "*"); res.setHeader("Access-Control-Allow-Methods", "POST, GET, PUT"); res.setHeader("Access-Control-Allow-Headers", "Content-Type"); next(); } still cors error. here is my index.js const express = require("express"); const app = express(); const dotEnv = require("dotenv"); const mongoose = require("mongoose"); const cors = require("cors"); app.use(cors({origin: "*"})); app.use((req, res, next) => { res.setHeader("Access-Control-Allow-Origin", "*"); res.setHeader("Access-Control-Allow-Methods", "POST, GET, PUT"); res.setHeader("Access-Control-Allow-Headers", "Content-Type"); next(); } dotEnv.config(); mongoose.set("strictQuery", false); app.use(express.json()); mongoose.connect(process.env.DB_URL).then(function(){ console.log("connected"); }); applications = require("./routes/applications"), auth = require("./routes/auth"), app.use("/api/aplications", applications); app.use("/api/auth/", auth); const PORT = process.env.PORT || 3000; app.listen(PORT, function(){ console.log(Date.now()) console.log("server started on port", PORT); }) Continue reading...