gpt4 book ai didi

node.js - 为什么NodeJs服务器两次返回相同的数据?

转载 作者:太空宇宙 更新时间:2023-11-04 01:47:07 25 4
gpt4 key购买 nike

我目前正在学习 NodeJs,因此我正在构建一个简单的 NodeJs 服务器,名为 server.js

const http = require('http');
const port = 3000;
const fs = require('fs');
const sourceFile = './client/src/account.json';
var data = []
const service = http.createServer(
(req, res) => {
var receive = "";
var result = "";
req.on('data', (chunk)=>{ receive += chunk })
req.on('end', () =>{
data = fs.readFileSync(sourceFile, 'UTF8');
result = JSON.stringify(data);

var data_receive = receive;
console.log(data)

res.setHeader('Access-Control-Allow-Origin', '*');
res.write(data);
res.end()
})
})
service.listen(port)

为什么每次我向服务器请求时,console.log都会返回数据两次。看起来好像在某个地方循环了。

这是我的 json 文件 account.json

[
{
"id":"account_1",
"pass":"abc123",
"name":"Account 1"
}
]

感谢您的帮助!

最佳答案

当从浏览器执行请求时,您将收到一个对 favicon.ico 的额外请求。

为了避免这些双重请求,请处理图标。

if (req.url === '/favicon.ico') {
res.writeHead(200, { 'Content-Type': 'image/x-icon' });
console.log('favicon...');
return res.end();
}

/* The rest of your code */

关于node.js - 为什么NodeJs服务器两次返回相同的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51028853/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com