如何从JS文件而不是在控制器中获取当前LoggedInUser

时间:2019-02-24 13:35:12

标签: express

在我的Express应用中,我需要获取登录用户才能获取他的数据...

但是我在客户端上的JS文件中,而不是在我可以通过req,res轻松访问它的控制器上?

当我在客户端的JS文件上获取即时信息时,获取登录用户信息的正确方法是什么?

我可以将dom上的数据属性与已登录用户的信息一起发送,然后将获取请求发送到我的控制器,该信息通过信息来获取用户,然后我将...

但是感觉有点脏..有什么提示吗?

1 个答案:

答案 0 :(得分:1)

您可以通过res.locals对象将数据从服务器传递到客户端。但是您不能以obj形式获取此数据,因为服务器始终会将渲染的HTML文件发送给客户端。因此,您应该做的是在输入元素中添加它。

服务器

res.locals.yourData = ...;

客户

input(type="hidden", value={yourData})

另一种方式(将其呈现为javascript)

script(type="javascript/text")
     const data = yourData;

如果不起作用,则对数据(JSON)进行字符串处理,然后在客户端中对其进行解析以检索数据。