Express JS: No 'Access-Control-Allow-Origin' header is present on the requested resource Express JS: No 'Access-Control-Allow-Origin' header is present on the requested resource ajax ajax

Express JS: No 'Access-Control-Allow-Origin' header is present on the requested resource


Instead of setting the request headers to your express route, Can you try setting it to express instance itself like this,

var express = require('express');var app = express();var Assessment = require('../app/models/assessment');app.use(function(req, res, next) {  res.header("Access-Control-Allow-Origin", "*");  res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");  next();});app.post('/api/status', function (req, res, next) {    // your code goes here});module.exports = app;

Hope this helps!


You can also use cors npm for the same.

**npm i cors**const cors = require('cors')var corsOptions = {  origin: '*',  optionsSuccessStatus: 200 // some legacy browsers (IE11, various SmartTVs) choke on 204 }app.use(cors(corsOptions));var routes = require('./api/routes/route'); //importing routeroutes(app); //register the route


Check your server.js file. It should look like the example below:

const express = require('express');const bodyParser = require('body-parser');var cors = require('cors');const mongoose = require('mongoose');// create express appconst app = express();// parse application/x-www-form-urlencodedapp.use(bodyParser.urlencoded({ extended: true }))// parse application/jsonapp.use(bodyParser.json())app.use(cors());