I’m getting the “No ‘Access-Control-Allow-Origin’ problem” and tried some solutions that doesn’t worked for me.
Tried solutions:
app.use(cors({origin: '*', credentials: true}));
app.use((req, res, next) => {
// Website you wish to allow to connect
res.setHeader('Access-Control-Allow-Origin', '*');
// Request methods you wish to allow
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
// Request headers you wish to allow
res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');
// Set to true if you need the website to include cookies in the requests sent
// to the API (e.g. in case you use sessions)
res.setHeader('Access-Control-Allow-Credentials', true);
// Pass to next layer of middleware
next();
});
My code:
app.js
'use strict';
const express = require('express');
const bodyParser = require('body-parser');
const usersRoute = require('./routers/users-route');
const cors = require('cors');
const app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));
app.use('/store', usersRoute);
app.use(express.static('public'));
app.use(cors({origin: '*', credentials: true}));
module.exports = app;
server.js
'use strict';
const http = require('http');
const debug = require('debug')('nodejsservers:server');
const app = require('../src/app');
const port = normalizePort(process.env.PORT || '3000');
app.set('port', port);
const server = http.createServer(app);
server.listen(port);
server.on('error', onError);
server.on('listening', onListening);
console.log('API rodando na porta: ' + port);
function normalizePort(val){
const port = parseInt(val, 10);
if(isNaN(port)) return val;
if(port >= 0) return port;
return false;
}
function onError(error){
if(error.syscall !== 'listen') throw error;
const bind = typeof port === 'string' ? 'Pipe ' + port : 'Port ' + port;
switch(error.code){
case 'EACCES':
console.error(`${bind} requires elevated privileges`);
process.exit(1);
break;
case 'EADDRINUSE':
console.error(`${bind} is already in use`);
process.exit(1);
break;
default:
throw error;
}
}
function onListening(){
const addr = server.address();
const bind = typeof addr === 'string' ? 'pipe ' + addr : 'port ' + addr.port;
debug('Listening on ' + bind);
}