我的(假设)流程是我将获得一个表单发布方法html,它将包含在服务器端捕获它的令牌。
app.post('/callback', (req, res)=> { var token = req.body.access_token res.cookie('access',token); //instead, i want to set in variable/text field //res.send('<input type=text name="access_token" value="token" hidden/>') })
现在,我想从服务器设置的客户端的变量/文本字段中获取令牌。
是否可以在文本字段中设置值?(如果是,如何?)
客户端是否可以读取服务器端设置的值?
这是正确的过程吗?
如果有更好的过程,请随意提出。
更新 :我只想在Asp.net核心中尝试一下
{ if (!string.IsNullOrEmpty(Request.Form["access_token"])) { var token = Request.Form["access_token"]; ViewBag.Message = token.ToString(); } return View(); }
查看部分:
@{ ViewData["Title"] = "CustomeView"; } <script> var message = "@ViewBag.Message"; console.log(message); </script> <a href="@Url.Content("/")">Home</a>
单击主页链接后,它将重定向到我的angular2 index.html
message
在我的头顶上,一种实现方法是使用Pug,Jade或类似的东西将您的棱角分页呈现为express的模板。然后,您可以渲染一个脚本标签,并将其分配给一个全局变量,您可以在您的角度应用程序中使用该变量。您也可以选择使用隐藏输入直接渲染表单,并将其分配给令牌
伪代码:
//Route File app.post('/callback',function(req, res){ var token = req.body.access_token; var template = require('./path/to/template'); template.render({ token:token }) }) //Template File <html> <head>...</head> <body> .... <script>var token = "${data.token}";</script> .....<!-- Angular and other script includes --> </body> </html>