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

时间:2015-05-13 16:34:02

标签: javascript html node.js client-side

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

1 个答案:

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