Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.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 特定端点的角度集标头角度1_Javascript_Angularjs_Node.js_Angular Factory - Fatal编程技术网

Javascript 特定端点的角度集标头角度1

Javascript 特定端点的角度集标头角度1,javascript,angularjs,node.js,angular-factory,Javascript,Angularjs,Node.js,Angular Factory,我环顾四周,但找不到适合我的东西。 我有两个端点,一个用于我可以访问的后端,另一个用于外部服务 在我的.run中,我有一个拦截器,它将此头添加到向我的服务器发出的每个请求中 $http.defaults.headers.common['Authorization']='JWT'+'token'; 外部api的服务 service('CorsRequest', function ($http) { var baseUrl = 'https://min-api.cryp

我环顾四周,但找不到适合我的东西。 我有两个端点,一个用于我可以访问的后端,另一个用于外部服务

在我的.run中,我有一个拦截器,它将此头添加到向我的服务器发出的每个请求中
$http.defaults.headers.common['Authorization']='JWT'+'token';

外部api的服务

 service('CorsRequest', function ($http) {

            var baseUrl = 'https://min-api.cryptocompare.com/';

            this.get = function (endpoint) {
                return $http.get(baseUrl + endpoint, { headers: {"Content-Type": 'text/plain'}});

            }

            this.post = function (endpoint, postData) {
                return $http.post(baseUrl + endpoint, postData);
            }
        })
当向该api发出请求时,第二个端点返回飞行前错误,因为该
授权
头被添加到该api中


如何检查请求是否发送到我的服务器,添加授权头,如果不忽略,则添加授权头。

以下是我如何按照Slava的建议使用http拦截器修复的

为它创建了一个工厂,并使用喷油器来获得我创建的服务

  .factory('ApiInterceptor', function($localStorage, $injector){

    console.log('here')
    return {
       request: function(config) {

      var UserService = $injector.get('UserService');

      if(config.url.indexOf(BASE_URL) > -1) {
        config.headers['Authorization'] = 'JWT' + ' ' + UserService.getCurrentUserToken() ;

      }
      // console.log(config)
      return config;
    },
      response: function(response) {
          // console.log(response.data);
          return response;
        }
    }

})
然后添加配置

.config(function($httpProvider) {       
    $httpProvider.interceptors.push('ApiInterceptor');
  })

不要将
授权添加为默认设置,而是仅在需要时直接添加到特定的
$http
调用。若你们在寻找通用的方法,你们可以使用http中间接受器。我用一个拦截器修复了它!非常感谢。