如何在app.get()node.js / express中插入逻辑?

时间:2018-10-23 19:46:10

标签: node.js express google-maps-api-3

我正在运行带有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的第一步。 感谢所有能帮助我的人

1 个答案:

答案 0 :(得分:0)

app.get('/', (req, res)=> {
  const log = parsingLog();
  res.send(log)
})

这是一个明确的终点。对主页“ /”的任何GET请求都将触发此功能。

HTTP是基于请求响应的Web协议,这意味着您将生成GET请求,并且服务器(在您的情况下为node / Express)将必须将响应发送回客户端。

您的函数仅返回字符串res.render('stringhere')。如果要将函数的结果附加到响应上并将其发送回客户端,则需要将结果附加到res.send上,因为它几乎是唯一承载数据的地方。