Request header field is not allowed by Access-Control-Allow-Headers with $http

后端 未结 3 1452
广开言路
广开言路 2021-01-03 01:15

I\'m doing a POST to a service using Postman Chrome Extension, and I get the expected response.

But, when I do the same POST reque

相关标签:
3条回答
  • 2021-01-03 02:00

    The issue is because of missing Access-Control-Allow-Headers from request Header. To fix this we need to add Access-Control-Allow-Headers: * to request header

    Add a Access-Control-Allow-Headers to the http request header. You can do this at app level using $httpProvider. Add below line in your app config section to add this header.

    var app = angular.module("app", [
        "ngRoute",
        "app.controllers",
        "app.directives",
        "app.filters"
    ]);
    
    app.config([
        "$routeProvider",
        "$httpProvider",
        function($routeProvider, $httpProvider){
            $httpProvider.defaults.headers.common['Access-Control-Allow-Headers'] = '*';
        }
    ]);
    
    0 讨论(0)
  • 2021-01-03 02:00

    I believe configuring the Access-Control-Allow-Headers on the $httpProvider on the CLIENT will not work. I think the header needs to be configured on the server (as a response header). In a node-express application for instance, this could be done with a middleware (for example), putting something like this:

    res.header('*')
    

    or (more selectively) just the headers you need:

    res.header('Engaged-Auth-Token, Access-Control-Allow-Headers', 'Content-Type, Authorization, Content-Length, X-Requested-With');
    
    0 讨论(0)
  • 2021-01-03 02:14

    if use sails api on backend change cors.js and add your token filed 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'
    };
    
    0 讨论(0)
提交回复
热议问题