Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.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
Angularjs 在angular中使用get/post将头键发送到express4 rest api的方法_Angularjs_Node.js_Express - Fatal编程技术网

Angularjs 在angular中使用get/post将头键发送到express4 rest api的方法

Angularjs 在angular中使用get/post将头键发送到express4 rest api的方法,angularjs,node.js,express,Angularjs,Node.js,Express,我使用基本身份验证头来保护我们的服务。该服务在正常工作的rest客户端中进行了测试。现在我们想从UI部分发送密钥。但是我们无法通过get和post调用发送标题值 //包含标头身份验证密钥的JSON变量 var authorizationHeader = { headers: {'Authorization': 'Basic xxxxxxxxxxxxxx'} }; //用于发送请求和接收值的控制器 app.controller("UserAuth",function($scope,$h

我使用基本身份验证头来保护我们的服务。该服务在正常工作的rest客户端中进行了测试。现在我们想从UI部分发送密钥。但是我们无法通过get和post调用发送标题值

//包含标头身份验证密钥的JSON变量

var authorizationHeader = {
    headers:  {'Authorization': 'Basic xxxxxxxxxxxxxx'}
};
//用于发送请求和接收值的控制器

app.controller("UserAuth",function($scope,$http){
    $http.get(getAuthorization,authorizationHeader).success(function(data) {
        var data=data;
    }):
});
在rest api中,我们接收的标头为:

var headervalue=req.headers.Authorization;

但是我们收到的值
未定义
。请确认我的错误。

您可以使用$httpProvider拦截器,请检查文档

基本上,您需要创建一个作为拦截器的服务,代码如下:

app.factory('authInterceptorService' function(){
   var _request = function(config){
       var authToken = myTokenService.getToken();//this will be your service to get authToken
       config.headers.Authorization='Basic '+authToken;
     }

   return {
      request:_request
   }

});
然后在你的应用程序配置中,你可以这样添加拦截器

app.config(function ($httpProvider) {
    $httpProvider.interceptors.push('authInterceptorService');
});
然后,每次使用$http时,都会将auth令牌添加到请求头中