CNode

终于登上来了+2,问个问题

Hhanl754发布于12 年前最后回复12 年前8 回复4993 浏览0 收藏

/* 我是新手,写了一个小程序统计页面被访问的次数,但是发现一个奇怪的问题。 每次访问页面。sum都会输出两次,最后导致的结果就是第一次显示:你是第1个,刷新一下页面,显示:你是第3个,你是第5个... 我的问题是为什么一次访问似乎会触发两次request事件? 求大虾解惑~~ */ var http = require('http'); var server = http.createServer(); server.listen(3333, "127.0.0.1"); var sum = 0; var data = ""; server.on("request", function(request, response) { data = "你是第 " + (++sum) + "个."; console.log(sum); response.writeHead(200, { 'Content-Type': 'text/html;charset=utf-8', 'Content-Length': Buffer.byteLength(data) }); response.write(data , "utf8"); response.end(); });

查看回复

回复 (8)

X
xiuxu123#1·12 年前

在方法内部加上这句代码你就明白了:

console.log(request.url);

因为你每次刷新你的浏览器会有两个请求过去,

H
hanl754#2·12 年前
引用 xiuxu123在方法内部加上这句代码你就明白了: 因为你每次刷新你的浏览器会有两个请求过去,

@xiuxu123 嗯,显示第一次的request.url是/,第二次是/favicon.ico。但还是有点困惑,哈哈~

H
heimeil#3·12 年前

favicon.ico是浏览器默认请求的,用来显示网站的图标,判断url不等于/favicon.ico就行了

H
hanl754#4·12 年前
M
MiguelValentine#5·12 年前

ico 事件

H
hanl754#6·12 年前
引用 MiguelValentineico 事件

@MiguelValentine 嗯?可以详细说一下么?

M
MiguelValentine#7·12 年前
引用 MiguelValentineico 事件

@hanl754 当你的META标签没有定义ICO的话,很多浏览器会自动向服务器请求 /favicon.ico 文件。

H
hanl754#8·12 年前
引用 MiguelValentineico 事件

@MiguelValentine 哈哈,谢啦!

参与回复
登录后即可参与回复。登录