这是bug吗?
发布于 8 年前 作者 gfafei 3980 次浏览 来自 问答

我想用new Image().src = 'http://localhost:3000/public/tk.gif?name=afei来向后台发送请求打日志。不知道为什么后台总是会一次记录两条日志。我用的是Chrome浏览器,换成IE就不会这样。 后台代码大概像这样:

var express = require('express');
var app = express();

app.use(function(req, res, next) {
  console.log(req.originalUrl);
  return next()
});
app.use('/public', express.static(__dirname + '/public'));

app.listen(3000, function () {
  console.info('running at port 3000');
});

求大神指教

10 回复

是这个favicon.ico请求吧

@jiangli373 应该不是,我打印出url了,两次的url是一样的

运行了你的代码,并没有出现你说的问题。

其中一条是服务器的自动log,另一条是你的console.log。 默认的logger中间件应该是开启着的,因为通常dev环境不会强制node_env=PRODUCTION,https://github.com/senchalabs/connect#middleware

@flamingtop 那解释不了 Chrome 和 IE 的区别。

chrome 匿名模式也这样吗?

@m31271n 大哥,你再试下。为什么我这边出现这个情况呢 客户端:new Image().src="http://localhost:3000" 服务端:

var express = require('express');
var app = express();

app.use(function(req, res, next) {
  console.log('ok1');
  return res.end();
});
app.listen(3000, function () {
  console.info('running at port 3000');
});

@flamingtop 这不是log的问题,这只是示例。我这边本来是一些处理的代码,不知道为什么被执行了两次。

有一个日志方法是 OPTIONS 吧?

回到顶部