【问题标题】:Sending header parameters in angular2 and reading them from node在 angular2 中发送标头参数并从节点读取它们
【发布时间】:2017-08-07 04:36:10
【问题描述】:

在我的应用程序中,我试图将一些标头参数从 angular2 应用程序发送到我的节点服务器:

var token = localStorage.getItem('token');
var headers = new Headers();
headers.append('Content-Type', 'application/json');
headers.append('Auth-Token', token);

var url = this.baseUrl + '/initdata';

return this._http.get( url, {headers: headers, body : {}}).toPromise()
    .then(response => {
        const status = response.json().status;
        if(status == SERVER_RESPONSE_STATUS.SUCCESS)
        {
            return response.json().result;
        }
        else if( status == SERVER_RESPONSE_STATUS.FAILED)
        {
            throw new Error(response.json().message);
        }
    })
    .catch(this.handleError);

}

但问题是当我尝试从节点读取值时,无法提取“auth-token”的值(说未定义)

    router.use('/', function (req, res, next) {

        tokenGenerator.verify(req.header('auth-token'), Constants.AUTH_PRIVATE_KEY, function (err, decoded) {

    });
});

在 angular2 中,我也从 http 导入标头:

import {Http, Headers} from "@angular/http"; 

有人可以帮我看看这里有什么问题吗?

谢谢

【问题讨论】:

    标签: angularjs node.js http-headers


    【解决方案1】:

    您可以像这样从标头中读取令牌

    if(req.headers.hasOwnProperty('token')) {        
         req.headers.authorization = 'Bearer ' + req.headers.token;        
         token = req.headers.token;      
    }
    

    从 Ng2 发送令牌

    headers.append('token', token);
    

    这就是我的做法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多