快速节点服务器与其显示html之间的通信

时间:2016-01-27 15:21:25

标签: javascript html node.js

真的很快,这个问题可能已被提出,但我对术语并不十分清楚,在寻找解决方案时也没有成功。

我正在尝试创建一个可以接收get和post请求的简单Web应用程序。然后,我想从这些请求中获取我收到的信息,并将其用于嵌入在显示的html中的javascript文件中。我认为代码可能会更清楚。这是我的app.js:

var express = require('express');
var app = express();
var assert = require('assert');



app.use(express.static('javascript'));
app.get('/', function(req, res) {
    res.render('index.jade');
});

app.listen(3000);

然后我希望能够从get或post请求中获取信息,特别是JSON格式,然后能够在我链接到index.jade的javascript中使用它。为了使index.jade中的问题稍微混乱,唯一的一行是:

include map.html

理想情况下,我可以在该html文件中获取javascript的信息。

我希望能够根据频繁的get和post命令,使用javascript不断更新map.html。

这可能是一个非常简单的解决方案,我对Web应用程序编程很新,我一直在努力解决这个问题。提前致谢,并询问您是否需要澄清。

3 个答案:

答案 0 :(得分:3)

我认为您需要了解自己在做什么。您正在使用node.js创建Web服务器。 Express框架为您简化了这一过程。快递的官方documentation非常棒。你应该特别提到this链接。

现在,在您的应用程序中,您需要为GET和POST请求创建端点。您已经创建了一个端点“/”(根位置)来加载您的主页,该主页是 index.jade 文件的内容。一个小例子是:

 app.get('/json', function (req, res) {
      res.setHeader('Content-Type', 'application/json');
      res.send(JSON.stringify({ a: 1 }));
 });

Jade 是一个解析为HTML的模板引擎。你也应该参考它的documentation。正如你所说,你对这些不太熟悉,你也可以简单地使用HTML。

这项任务很简单。在您的javascript中,使用ajax调用,您可以访问服务器的GET或POST端点并执行所需的操作。

希望它有所帮助!

答案 1 :(得分:2)

我得到它的方式你希望能够调用一个端点(让我们假设/真棒)传递一些信息,然后写入一个Javascript文件,然后你可以在你的html中引用。

如下所示会在您的公用文件夹中写入main.js文件。你可以写任何你想要的东西。

var fs = require('fs');
fs.writeFile("/public/main.js", "console.log('Hello!')", function(err) {
if(err) {
    return console.log(err);
}
console.log("The file was saved!");
}); 

然后,您可以在html中引用/public/main.js.

检查:Writing files in Node.js

如果我误解了你的意图,请道歉。 :)

答案 2 :(得分:0)

所以你想连续从服务器中恢复数据,也许你可以选择网上sockts http://socket.io/docs/

这样,您将打开从客户端到服务器的稳定连接。如果你想让其他客户完成更新,这是一个很好的方式。

如果你想通过客户端触发更改,那么ajaxs调用(http://www.w3schools.com/ajax/)就像hkasera所提到的那样。