如何从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

回到顶部