如何在nodejs中设置html中的文本字段值?

时间:2016-02-15 08:14:40

标签: javascript html node.js

我在nodejs和html中做项目。可以帮助人们如何在server.js的html中设置值到文本字段。例如,我带有id' name'的文本字段。在index.html上。我使用res.body.name =' nametest'但是它不起作用。请给我一个简单的例子。谢谢朋友们

2 个答案:

答案 0 :(得分:0)

您无法从服务器端设置客户端事物。它们是完全不同的物理层。

您需要 AJAX 从Web应用程序向NodeJS服务器端应用程序请求资源,并根据整个文本字段设置您放置的内容

也许您需要查看ExpressJS来构建一个简单的RESTful服务,以便在客户端和服务器层之间共享资源。

答案 1 :(得分:0)

要从服务器设置字段,您希望将其设置为您在发送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(Asynchronous Javascript and JSON),它要求客户端知道何时获取值,或者您可以使用websockets来使服务器将值推送到客户端。对于其中任何一个,那里有很多教程比我在这里为你准备的任何东西都要详细得多。
如果你想使用这些技术,但对它们的实现有点不确定,你可能想看看像Meteor和Socket.IO这样的框架