【问题标题】:Why console.log() gives output two times in createServer()? [duplicate]为什么console.log() 在createServer() 中输出两次? [复制]
【发布时间】:2018-01-01 14:44:02
【问题描述】:

我在 Node 中编写了以下代码,当我启动服务器并刷新页面时,第 1 行打印了 2 次。

var http = require('http');
var server = http.createServer(function(request, response) {
    {
        response.writeHead(200, { "content-type": "text/html" });
        response.write("<h1>Welcome to Node server</h1>");
        console.log("ksdguf");//1
        response.end();
    }
});

server.listen(3000);
console.log("Server started, Access it using browser");

请有人解释这背后的可能原因。

【问题讨论】:

  • 我认为问题中没有足够的信息来给出明确的答案。你试过不同的浏览器吗?我假设你会用 Chrome 得到这个。尝试登录request.method。如果这发生在 Chrome 中,我猜你会同时收到 GETOPTIONS 请求。

标签: javascript node.js node-modules


【解决方案1】:

因为大多数浏览器都会请求网站图标:

var http = require('http');
var server = http.createServer(function(request, response) {
{
    response.writeHead(200, { "content-type": "text/html" });
    response.write("<h1>Welcome to Node server</h1>");
    console.log("ksdguf");//1
    console.log(request.method);
    console.log(request.url)
    response.end();

}
});


server.listen(3000);

console.log("Server started, Access it using browser");

输出:

服务器已启动,使用浏览器访问它

未定义

ksdguf

获取

/

ksdguf

获取

/favicon.ico

【讨论】:

    猜你喜欢
    • 2019-07-24
    • 1970-01-01
    • 1970-01-01
    • 2020-12-06
    • 2013-11-03
    • 2020-08-14
    • 2022-11-21
    • 2021-01-09
    相关资源
    最近更新 更多