0

我写了一个网站跟踪器供内部使用,因为 Google Analytic 不符合要求。

我使用 node.js 和 Express 来开发那个跟踪系统。到目前为止一切正常。但我想确认的是,如果我在响应图像后插入日志数据,是否有问题。

谢谢!

function image_response(req, res, next){
    var buf = new Buffer([0x47, 0x49, 0x46, 0x38, 0x39, 0x61, 0x01, 0x00, 0x01, 0x00, 0x80, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x02, 0x02, 0x44, 0x01, 0x00, 0x3b]);
    res.send(200, buf);
    next();
}

app.get('/tracker.gif', image_response, function(req, res){
     // blah blah blah 
     // DB insert codes..
}

实际上,“image_response”完全是响应的结束,并关闭了与客户端的浏览器连接。之后,执行将数据保存到数据库的逻辑。

4

1 回答 1

1

如果您这样做了,则无法修改结果res.send(),请改用res.write()+ res.end()

res.send()是一种方便的 express 方法,它结合了 res.write() 和 res.end() 以便于使用。如果你想在多个地方的响应中发送数据,你必须使用 nodejs 的方法 write 和 end 来处理结果。

于 2012-10-26T09:51:58.060 回答