Angularjs Request header field Access-Control-Allow-Headers is not allowed by Access-Control-Allow-Headers in preflight response
11,693
this is backend problem. if use sails api on backend change cors.js and add your all header fileds here
module.exports.cors = {
allRoutes: true,
origin: '*',
credentials: true,
methods: 'GET, POST, PUT, DELETE, OPTIONS, HEAD',
headers: 'Origin, X-Requested-With, Content-Type, Accept, Engaged-Auth-Token'
};
Author by
Admin
Updated on June 14, 2022Comments
-
Admin almost 2 years
I know there are lot of duplicate questions.I tried all the solutions given there but still not working.
XMLHttpRequest cannot load http://localhost:3000/api/create. Request header field Access-Control-Allow-Headers is not allowed by Access-Control-Allow-Headers in preflight response.
angularjs code
$httpProvider.defaults.headers.common = {}; $httpProvider.defaults.headers.post = {}; $httpProvider.defaults.headers.put = {}; $httpProvider.defaults.headers.patch = {}; $httpProvider.defaults.headers.get = {}; $httpProvider.defaults.headers.common['Access-Control-Allow- Headers'] = '*'; $httpProvider.defaults.useXDomain = true; delete $httpProvider.defaults.headers.common['X-Requested-With']; $httpProvider.interceptors.push(['$injector',function($injector) { var mainFactory = $injector.get('mainFactory'); return { request: function(config) { var token = mainFactory.getToken(); config.headers.Authorization = 'Basic '+token; return config; }, response: function(response) { return response; } }; }]);
nodejs code
app.use(function(req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header('Access-Control-Allow-Methods','GET,PUT,POST,DELETE,OPTIONS'); res.header('Access-Control-Allow-Headers','Content-Type,Authorization'); res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Accept"); next(); });