我知道如何使用POST方法将数据从浏览器发送到服务器。但我不知道如何将数据从服务器发送到html页面。如何通过从Node.js服务器发送新值来修改html页面上的java脚本变量。
答案 0 :(得分:0)
让我们考虑节点网站上的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) { .. })