我正在创建一个应用程序并使用http://c9.io环境来开发它。它是一个 NodeJS 应用程序,它提供了一些 REST 端点供客户端应用程序查询。到现在为止,一切都运行良好,今天我观察到的是,对于浏览器向 REST API 发送的 1 个调用,有 2 个请求显示为已接收,并且请求处理程序被调用了 2 次。这减慢了一个请求的响应时间。
在 Chrome 开发人员工具中,它只显示一个发送的请求,但是,我app.use()
用来在 Express 中记录传入的请求,它为每个请求打印相同的 2 次。此外,处理程序被调用两次。
这是间歇性发生的,不是每次都发生。我在公司网络后面。由于我在一天中发送了很多请求进行测试,监控程序是否有可能发送请求,因为它发现它很可疑?我没有编辑处理请求的代码。
编辑:按照建议添加处理程序的代码。
app.get('/suggestions/:keyword', function(r, s) {
sug_db.retrieveSuggestions(r.params.keyword, function(data) {
s.writeHead(200, {'content-type': 'text/html'});
s.write(renderSugg({data: data}))
s.end();
});
});
app.get('/search/:query', function(r, s) {
esc_db.search(r.params.query, function(data) {
s.send(renderResults({query: r.params.query, results:data}));
});
});
如您所见,它们只是从数据库中获取一些数据并将结果作为 HTTP 响应返回。我使用的模板引擎是 Pug(以前的 Jade)