我正在运行带有express的node.js服务器。 我的服务器需要执行一些操作,例如解析文件日志,提取ipAddresses并使用外部Api将它们转换为坐标。 该坐标用于在我的html / ejs页面中显示Google地图。
我想要的是,一旦我在地图上使用(“ /”)开始/刷新主页,调用所有这些操作,并通过地图内的市场显示坐标。
所以我的主意是
app.get("/" , function(req,res){
parsingLog();
res.render("homepage.ejs")
})
parsingLog()是第一个函数,而其他则串联在该函数内部。在本周期的最后,我获得了一个带有坐标的对象数组,该对象传递给前端javascript以显示地图。但是将代码放入app.get中,代码可以运行,但是没有结果。如果我在没有app.get的情况下运行代码,则将获得所有正确的结果。 我不明白这是什么问题,很遗憾,这是我进入node.js / express的第一步。 感谢所有能帮助我的人
答案 0 :(得分:0)
app.get('/', (req, res)=> {
const log = parsingLog();
res.send(log)
})
这是一个明确的终点。对主页“ /”的任何GET请求都将触发此功能。
HTTP是基于请求响应的Web协议,这意味着您将生成GET请求,并且服务器(在您的情况下为node / Express)将必须将响应发送回客户端。
您的函数仅返回字符串res.render('stringhere')。如果要将函数的结果附加到响应上并将其发送回客户端,则需要将结果附加到res.send上,因为它几乎是唯一承载数据的地方。