在我的Express应用中,我需要获取登录用户才能获取他的数据...
但是我在客户端上的JS文件中,而不是在我可以通过req,res轻松访问它的控制器上?
当我在客户端的JS文件上获取即时信息时,获取登录用户信息的正确方法是什么?
我可以将dom上的数据属性与已登录用户的信息一起发送,然后将获取请求发送到我的控制器,该信息通过信息来获取用户,然后我将...
但是感觉有点脏..有什么提示吗?
答案 0 :(得分:1)
您可以通过res.locals
对象将数据从服务器传递到客户端。但是您不能以obj形式获取此数据,因为服务器始终会将渲染的HTML文件发送给客户端。因此,您应该做的是在输入元素中添加它。
服务器
res.locals.yourData = ...;
客户
input(type="hidden", value={yourData})
另一种方式(将其呈现为javascript)
script(type="javascript/text")
const data = yourData;
如果不起作用,则对数据(JSON)进行字符串处理,然后在客户端中对其进行解析以检索数据。