angular 设置自定义 header 始终包裹在 Access-Control-Request-Headers 内

angular setting custom header always wrapped inside Access-Control-Request-Headers

我正在尝试使用 AngularJS $http.

在我的 api 请求中添加一些自定义 header

buildHttpConfig (url, options) {
  var config = angular.extend({
    method: 'GET',
    headers: {}
  }, options || {});

  config.headers['Content-Type'] = 'application/json; charset=UTF-8';
  config.headers['X-MyCustomHeader'] = {
    "instanceId": "abc",
    "platform": "Web",
    "appId": "efg"
  };
  config.headers.Accept = 'application/json';

  config.url = url;

  return config;
}

getDocumentsToPresent (): ng.IPromise<string> {
  var url = 'https://localhost:8080/services/xyz/myXYZ';
  var deferred = this.$q.defer();
  this.$http(this.buildHttpConfig(url, {method: 'GET'})).then(function (data: any) {
    deferred.resolve(data);
  }, function (err) {
    deferred.reject(err);
  });
  return deferred.promise;
}

每次我发出此请求时,自定义 header 都会自动添加到 'Access-Control-Request-Headers'。有没有办法在全局 http 范围内添加我的自定义 headers?谢谢

对:

app.config(function ($httpProvider) {
    $httpProvider.defaults.headers
            .common['X-Requested-With'] = 'XMLHttpRequest';
});

这是我添加到我的应用程序中的一个应用程序,它会随我发出的每个 ajax 请求一起提供。将 X-Requested-With 更改为您需要的任何内容。