Angularjs 在angular中使用get/post将头键发送到express4 rest api的方法
我使用基本身份验证头来保护我们的服务。该服务在正常工作的rest客户端中进行了测试。现在我们想从UI部分发送密钥。但是我们无法通过get和post调用发送标题值 //包含标头身份验证密钥的JSON变量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
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令牌添加到请求头中