这是bug吗?
 发布于 9 年前  作者 gfafei  5270 次预览  最后一次回复是 9 年前  来自 问答 

我想用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 回复
jiangli373

是这个favicon.ico请求吧

gfafei

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

m31271n

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

flamingtop

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

leapon

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

alsotang

chrome 匿名模式也这样吗?

gfafei

@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');
});
gfafei

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

Qquanwei

有一个日志方法是 OPTIONS 吧?