程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在重定向之前设置Express响应头大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决在重定向之前设置Express响应头?

开发过程中遇到在重定向之前设置Express响应头的问题如何解决?下面主要结合日常开发的经验,给出你关于在重定向之前设置Express响应头的解决方法建议,希望对你解决在重定向之前设置Express响应头有所启发或帮助;

设置标头在这里不起作用,因为重定向将执行新的http请求,您可以使用express- session来存储auth令牌,并在需要时获取它

req.session.accesstoken = token

解决方法

我正在实现一个站点登录名,该登录名采用电子邮件/密码组合,检索API令牌,并将其返回给用户以存储(加密)在localStorage中。

目前,在成功发布到/login,该应用程序将用户重定向到索引页,附有作为查询条件,像这样的令牌:

login.post('/',function(req,res) {
    ...checking password...

    Auth.getToken(user,function(err,token) {
        res.redirect('/?token=' + token);
    });
});

这可以正常工作,但我希望保持URL尽可能整洁,并将令牌设置为标头:

login.post('/',token) {
        res.set('x-access-token',token);
        console.log(res._headers);
            // --> {'x-powered-by': 'Express','x-access-token': <token>}
        res.redirect('/');
    });
});

console.log-ing res._headers显示标题设置正确,但是当我req.headers将请求登录到索引页面时,它没有显示:

{ host: 'localhost:3000',connection: 'keep-alive','cache-control': 'max-age=0',accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8','upgrade-insecure-requests': '1','user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/44.0.2403.157 Safari/537.36',referer: 'http://localhost:3000/login','accept-encoding': 'gzip,deflate,sdch','accept-language': 'en-US,en;q=0.8',cookie: 'ifusr=crwj; _ga=GA1.1.1933420201.1409901705','if-none-match': '"1195161647"' }

任何建议表示赞赏!

大佬总结

以上是大佬教程为你收集整理的在重定向之前设置Express响应头全部内容,希望文章能够帮你解决在重定向之前设置Express响应头所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: