我对 node.js 真的很陌生,所以如果我犯了一个明显的错误,请多多包涵。
为了理解node.js,我正在尝试创建一个基本上是:1)每次访问根URL(localhost:8000 /)时都更新页面并附加“hello world”。2) 用户可以转到另一个 url (localhost:8000/getChatData),它将显示从触发的 url (localhost:8000/) 构建的所有数据
我遇到的问题:1)我在渲染页面上显示该数据时遇到问题。我有一个计时器,它应该每秒调用一次 get_data() 并使用存储附加输出的数据变量更新屏幕。特别是 response.simpleText(200, data); 下面的这一行 无法正常工作。
文件
// Load the node-router library by creationix
var server = require('C:\\Personal\\ChatPrototype\\node\\node-router').getServer();
var data = null;
// Configure our HTTP server to respond with Hello World the root request
server.get("/", function (request, response) {
if(data != null)
{
data = data + "hello world\n";
}
else
{
data = "hellow world\n";
}
response.writeHead(200, {'Content-Type': 'text/plain'});
console.log(data);
response.simpleText(200, data);
response.end();
});
// Configure our HTTP server to respond with Hello World the root request
server.get("/getChatData", function (request, response) {
setInterval( function() { get_data(response); }, 1000 );
});
function get_data(response)
{
if(data != null)
{
response.writeHead(200, {'Content-Type': 'text/plain'});
response.simpleText(200, data);
console.log("data:" + data);
response.end();
}
else
{
console.log("no data");
}
}
// Listen on port 8080 on localhost
server.listen(8000, "localhost");
如果有更好的方法来做到这一点,请告诉我。目标是基本上有一种方法让服务器调用 url 来更新变量,并让另一个 html 页面每秒动态报告/显示更新的数据。
感谢:D