一尘不染

从server-Node.js(express)/Asp.net-core设置隐藏文本以从客户端角度2读取文本

node.js

我的(假设)流程是我将获得一个表单发布方法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/>')
    })

现在,我想从服务器设置的客户端的变量/文本字段中获取令牌。

  1. 是否可以在文本字段中设置值?(如果是,如何?)

  2. 客户端是否可以读取服务器端设置的值?

  3. 这是正确的过程吗?

  4. 如果有更好的过程,请随意提出。

更新 :我只想在Asp.net核心中尝试一下

  1. 想要将令牌保存在控制器中的变量中
        {

      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

  1. Index.html-角度2,如何message在角度2中使用(令牌值)变量?

阅读 221

收藏
2020-07-07

共1个答案

一尘不染

在我的头顶上,一种实现方法是使用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>
2020-07-07