Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何不总是将标题以角度发送到外部服务器_Javascript_Angularjs_Asp.net Web Api_Http Headers - Fatal编程技术网

Javascript 如何不总是将标题以角度发送到外部服务器

Javascript 如何不总是将标题以角度发送到外部服务器,javascript,angularjs,asp.net-web-api,http-headers,Javascript,Angularjs,Asp.net Web Api,Http Headers,在我的app.config中,我正在发送 在标题中 app.run(function($http) { $http.defaults.headers.common['MyCode'] = 'buTTon5'; }); 上面的方法对我所有的内部web api调用都很有效,但是我确实有一些外部api调用,我不能将标题发送给它们,我怎么能不发送呢 错误 无法加载XMLHttpRequest。飞行前响应中的访问控制允许标头不允许请求标头字段MyCode 要删除,您需要使用拦截器。您将收到$ht

在我的app.config中,我正在发送

在标题中

app.run(function($http) {
    $http.defaults.headers.common['MyCode'] = 'buTTon5';
});
上面的方法对我所有的内部web api调用都很有效,但是我确实有一些外部api调用,我不能将标题发送给它们,我怎么能不发送呢

错误

无法加载XMLHttpRequest。飞行前响应中的访问控制允许标头不允许请求标头字段MyCode


要删除,您需要使用
拦截器
。您将收到$http call的配置对象。检查此更新

拦截器:

app.config([
  '$httpProvider',
  function($httpProvider) {
    $httpProvider.interceptors.push( function() {
      return {
        'request': function(config) {
          if (config.url.indexOf('smartystreets.com') != -1)
            delete config.headers.MyCode; //able to delete with interceptor request method
          return config;
        }
      };
    });
  }
]);

要删除,您需要使用
拦截器
。您将收到$http call的配置对象。检查此更新

拦截器:

app.config([
  '$httpProvider',
  function($httpProvider) {
    $httpProvider.interceptors.push( function() {
      return {
        'request': function(config) {
          if (config.url.indexOf('smartystreets.com') != -1)
            delete config.headers.MyCode; //able to delete with interceptor request method
          return config;
        }
      };
    });
  }
]);
要在每个请求的基础上明确删除通过
$httpProvider.defaults.headers
自动添加的头,请使用headers属性,将所需头设置为
未定义。例如:

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

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

要在每个请求的基础上明确删除通过
$httpProvider.defaults.headers
自动添加的头,请使用headers属性,将所需头设置为
未定义。例如:

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

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


我遇到了一个stackoverflow的答案,上面说
transformRequest
在1.4.x之后不再发出声音,奇怪的是你使用1.5注意:由于,
transformRequest
函数不能再修改请求头。如果需要动态添加/删除头,则应在头函数中完成。有关更多信息,请参阅我遇到的stackoverflow答案,其中指出
transformRequest
在1.4.x之后不再有声音,奇怪的是您使用1.5注意:由于,
transformRequest
函数无法再修改请求头。如果需要动态添加/删除头,则应在头函数中完成。有关更多信息,请参见是的,这更好-我有一个更具挑战性的,是的,这更好-我有一个更具挑战性的,