自定义HTTP标头总是添加在“Access-Control-Request-Headers”下

时间:2015-05-04 21:23:48

标签: angularjs http angularjs-directive

我是Angular JS的新手。我正在编写一个简单的客户端来从HTTP端点提取数据。

我设置的所有标头都是通过标头Access-Control-Request-Headers下的线路发送的,但不是请求中的实际HTTP标头。

delete $http.defaults.headers.common['X-Requested-With'];
var config = {
  headers:  {
    'customHeader1': 'value1'
  }
};
$http.defaults.headers.get = {
  'customHeader2': 'value2'
};
$http.get("http://localhost:8280/abc",config).success(function(data) {
  // alert(data);
  $scope.names = data.records;
}).error(function(response, data, status, header) {
  alert(status);
});

1 个答案:

答案 0 :(得分:0)

你可以试试官方fill()

的建议

要基于每个请求显式删除通过$httpProvider.defaults.headers自动添加的标头,请使用headers属性,将所需标头设置为undefined。例如:

var req = {
 method: 'POST',
 url: 'http://example.com',
 headers: {
   'Content-Type': undefined
 },
 data: { test: 'test' }
}

$http(req).then(function(){...}, function(){...});