gpt4 book ai didi

node.js 在 POST 请求上刷新 DOM

转载 作者:搜寻专家 更新时间:2023-11-01 00:04:08 25 4
gpt4 key购买 nike

我是 node.js 的初学者,我正在尝试创建一个简单的本地托管网页,自动刷新自身 (DOM) 并显示通过 POST/GET 请求收到的信息。我已经用谷歌搜索了几个小时,但没有找到任何有用的东西。我什至不确定 node.js 是否用于此类内容。

编辑:index.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Node.js Receiver</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
<div id="someEl">some element</div>
</body>
</html>

服务器.js

const http = require('http');
const fs = require('fs');

const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {
if (req.method === 'POST') {
let _html = '';
req.on('data', chunk => {
_html += chunk.toString();
});
req.on('end', () => {
console.log(_html);

res.render('index.html'); // "res.render is not a function"
res.end(_html); // doesnt update website in browser
document.body.innerHTML = _html; // error
});
}
else {
res.statusCode = 200;
res.setHeader('Content-type', 'text/html');
res.end('nothing');
}
});

server.listen(port, hostname, () => {
console.log('Server started on port ' + port);
});

最佳答案

你的问题有点含糊,不包含任何关于你如何呈现和服务的信息,但要从请求中获取信息返回浏览器,你通常需要从 传递一些东西请求响应。在裸 Node 中,您可以使用 req.pipe(res) 执行此操作。

不过,我建议不要单独使用普通 Node 的 http。我会研究 ExpressJS、Hapi 或 Koa。 Express 可能是 Node.js 最流行的 Web 框架。它允许您使用 express.static() 托管静态文件,并使用 EJS 等模板语言将数据从服务器备份到客户端。

关于node.js 在 POST 请求上刷新 DOM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51470467/

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