如何从nodejs设置HTML中的文本字段的值?
我正在用nodejs和html进行项目。任何人都可以帮助您从server.js中设置html文本字段的值。例如,我在index.html上有ID为’name’的文本字段。我使用res.body.name
=’nametest’。但是它不起作用。请给我一个简单的例子。谢谢朋友
回答:
为了设置服务器中的字段,您需要将其设置为在发送HTML时定义的预设值,或者稍后再动态设置。第一个选项很简单,第二个选项有点高级。
让我们看一下选项1。这只是一个非常基本的示例!请不要在生产中使用它。
index.html
<!DOCTYPE html><html>
<head><!-- your stuff here --></head>
<body><input type="text" name="someVal" value="{{someVal}}"></body>
</html>
这可能是您的HTML。只是一个独特的占位符,您希望您的价值得以实现。可能有更好的技术可以做到这一点,但是为了简单起见,我选择了这种方式。
server.js
var http = require('http');var fs = require('fs');
http.createServer((req, res) => {
fs.readFile('index.html', (err, data) => {
if (err) {
res.writeHead(500);
res.end(err);
return;
}
data = data.toString().replace(/\{\{someVal\}\}/, 'your value here');
res.writeHead(200);
res.end(data, 'utf8');
});
}).listen(8080);
此server.js将在端口8080上打开HTTP服务器。它将尝试index.html
从同一目录读取。如果失败,它将错误消息发送给客户端,否则它将用您的值替换HTML中的占位符,然后将修改后的内容发送给客户端。
如果这就是您要做的,PHP可能会为您做得更好(但这只是我的2美分:))
选项2更加详尽。您可能必须使用AJAJ(异步Javascript和JSON),它要求客户端知道何时获取值,或者您可以使用websocket来使服务器将值推送到客户端。对于其中的任何一个,那里都有很多教程,比我在这里可以为您整理的任何东西都要详尽得多。
如果您想使用这些技术,但不确定其实现方式,则可能需要研究Meteor和Socket.IO之类的框架。
以上是 如何从nodejs设置HTML中的文本字段的值? 的全部内容, 来源链接: utcz.com/qa/421680.html