node.js:从服务器发送数据到html浏览器

我知道如何使用POST方法将数据从浏览器发送到服务器。 但我不知道如何将数据从服务器发送到HTML页面。 如何通过从Node.js服务器发送新值来修改html页面上的java脚本variables。

让我们考虑一下来自节点网站的hello world例子

var express = require('express'); var app = express(); app.get('/', function (req, res) { res.send('Hello World!'); }); var server = app.listen(3000, function () { var host = server.address().address; var port = server.address().port; console.log('Example app listening at http://%s:%s', host, port); }); 

这部分是一个路由,这是你如何与浏览器通信:

 app.get('/', function (req, res) { res.send('Hello World!'); }); 

然后在你的浏览器中(例如chrome / ie / safari),你可以访问http:// localhost:3000 / ,你会看到文本“Hello World!”。

所以你可以做一个路线来做你的数据库工作:

 app.get('/fetchDB', function (req, res) { // .. do database stuff databaseStuff(function(moreStuff){ res.send(moreStuff) }); }); 

无论你传递给res.send(..)什么是返回给客户端。 如果你传递一个数组或对象给res.send那么客户端将会收到JSON和jQuery的足够聪明,可以看到JSON头文件,并自动给你一个相同的数组。 $.get('http://localhost:3000/fetchDB', function(moreStuff) { .. })