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'
};
Share:
11,693
Admin
Author by

Admin

Updated on June 14, 2022

Comments

  • Admin
    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();
    });