一尘不染

带$ http的Access-Control-Allow-Headers不允许请求标头字段

angularjs

我正在使用 Postman Chrome Extension* 对服务进行 POST ,并且得到了预期的响应。 *

但是,当我使用进行相同的 POST 请求时$http,一切都会陷入困境。

我得到了:

Request header field Engaged-Auth-Token is not allowed by Access-Control-Allow-Headers

Engaged-Auth-Token 作为标题。

我不知道为什么Postman可以用,而Chrome不能用…

有任何想法吗?


阅读 613

收藏
2020-07-04

共1个答案

一尘不染

问题是由于缺少Access-Control-Allow-Headers请求标头。要解决此问题,我们需要添加Access-Control-Allow- Headers: *到请求标头中

a添加Access-Control-Allow-Headershttp request header。您可以使用在应用程序级别执行此操作$httpProvider。在您的“应用程序配置”部分中添加以下行以添加此标头。

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'] = '*';
    }
]);
2020-07-04