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) { .. })