我目前是nodejs和mongodb的新手,所以请原谅我这个新手的问题。
我想要的是将数据从我的mongodb文件传递到运行我的迷你游戏的js文件。 我现在正在做的是使用jsp标签从我的mongodb中检索数据(我从我见过的项目中遵循这种做法,但他在他的html文件中这样做对我来说很好。对于我的情况我只是想试试运气)
var win = <%= user.win %>;
var lose = <%= user.lose %>;
var draw = <%= user.draw %>;
如何将我从mongodb获取的数据检索到javascript?
答案 0 :(得分:0)
如果你有一个带有Express应用程序的Node.JS,有很多方法可以做到这一点。如果您正在使用模板引擎,则可以将数据作为HTML页面的一部分呈现在script
块中(或直接将其呈现为HTML,避免脚本)。或者,您可能希望使用Ajax样式请求并将数据发送回客户端。
app.get('/api/users/:id', function(req, res) {
Users.findOne({ _id : req.params.id }, function(error, user) {
if (error || !user) {
res.send({ error: error });
} else {
res.send(user);
}
});
});
准备就绪之后,您可以使用jQuery的ajax
功能来调用网络服务。
$.ajax({
url: "api/users/" + userId,
}).done(function(user) {
// here you have a complete user object that you can use
});
您发布的代码让我觉得您正在使用模板引擎。我希望你的模板HTML文件有一个render
方法:
res.render('homepage', user);
然后,在HTML中:
<script>
var win = <%= win %>;
var lose = <%= lose %>;
var draw = <%= draw %>;
</script>
由于user
对象是具有当前上下文的对象(因为它在上面的示例中作为参数传递),您可以直接直接引用user
对象的属性(只是win
而不是user.win
)。