javascript - Express 单一响应解决方法
问题描述
我在这里陷入了两难境地,一旦我的用户登录,我想将他们重定向到仪表板页面,但还将他们的 json 详细信息发送到我的客户端 javascript。我知道只能有一个资源。在响应中发送 /end/json 并且我可以使用视图引擎发送动态数据。我想单独发送数据的原因是因为我不仅要渲染它,而且要在客户端 JS 中使用数据,以便我可以稍后将它用于聊天应用程序中的套接字。我已经尝试了很多东西,包括使用连续的局部变量来尝试创建中间件或自动重定向。问题是无论 res.json() 是什么都很难嵌入到中间件中,因为在它被调用的那一刻,没有声明下一个或重定向的范围。这是我的登录路径的代码:
router.get(’/’, (req,res)=>{
console.log(req.user._id);
User.findOne({
"_id": req.user._id
}, function(err, foundUser) {
if (err) {
console.log(err);
return res.status(500).json({
ok: false,
error: err
});
} else {
console.log(foundUser); //THE ELEMENT IS FOUND
return res.status(200).json({
ok: true,
data: foundUser
});
}
});
res.sendFile('chat.html', { root: path.join(__dirname, '../views/') });
});
解决方案
您可以从您的页面发出 ajax 请求以获取您想要的数据并将其保存在您的客户端。
推荐阅读
- listview - ScrollController 附加到多个滚动视图,同时导航到另一个页面
- python-3.x - DRF 更新查询集中的 Json 字段值
- laravel - 缺少 [Route: reviews.show] 所需的参数(来自控制器)
- python - 带有文本光标的 Pycharm 查询
- apache-flink - StreamExecutionEnvironment 不能用 Apache Flink 中的 Table 元组序列化
- sql - 将表中的每一行与主行进行比较
- reactjs - 将 react 钩子与 redux-saga(或任何其他中间件)结合使用
- arrays - 这个打字稿文件中的定义有什么问题
- azure - 如果现有资源违反 Azure 政策,会发生什么情况?
- javascript - grant_type 是必需的错误 invalid_request