我是Angular 2 + NodeJS的新手。我来自.NET。在.NET中,我知道您只需获取请求对象并将服务器变量拉出,但在角度2中,您似乎需要获取请求并将标头变量拉出来。
我的公司有自己的SSO,我需要在进入我的应用程序之前获取它添加的标头变量。
如何获取传递给我的应用程序的标头变量? 有没有一种标准的方法可以在Angular 2中获得它?
当我试图自己研究时,我总是得到很多"设置标题"情况
答案 0 :(得分:0)
由于您提到了.NET,请在此处使用MVC。 https://www.asp.net/mvc 在控制器中,您可以执行以下操作:
- (void)viewWillAppear:(BOOL)animated
{
[self.player play];
}
在您的视图SsoMiddleware.cshtml中,添加Javascript:
public ActionResult SsoMiddleware()
{
string[] keys = Request.Headers.AllKeys;
string authString = "";
foreach (var key in keys)
{
if (key == "SSO Authentication String")
authString = Request.Headers[key];
}
return View(authString);
}
答案 1 :(得分:0)
您无法直接从客户端获取标题。
您可以做的是在您的应用程序中创建一个路径,该路径仅从请求中获取标头并将其从服务器传回客户端,假设您的应用程序在您拥有的任何页面上都有标题。
app.get('/getVariable', function (req, res) {
if (req.headers && req.headers.variablename) {
res.status(200);
res.send({
name: req.headers.variablename
});
} else {
res.status(404);
res.send({
status: 404,
message: 'Headers not found'
})
}
})