NodeJS服务器请求

时间:2014-08-26 16:42:06

标签: javascript ajax node.js

我正在使用NodeJS,我仍然熟悉它。

鉴于我的系统结构,我有两台运行在不同机器上的NodeJS服务器。 用户/浏览器向第一个服务器发送请求,该服务器向浏览器返回位于该第一个机器中的JSON文件。

第一台服务器还每5-10秒更新一次这个JSON文件,向第二台服务器发送请求,第二台服务器返回另一个JSON文件,该数据将覆盖第一台服务器中JSON文件中的数据,因此下一个用户/浏览器请求将会更新。 第二台服务器也运行NodeJS服务器,但它只调度来自第一台服务器的请求。

我有这种结构,因为我不希望用户出于安全原因知道第二台服务器(任何人都可以看到使用任何开发工具进行重定向)。

这两个事件是异步执行的,因为浏览器请求可能与更新JSON文件的事件处于不同的时间。

我的问题是:如何更新第一台服务器中的JSON文件?我想知道是否有一个NodeJS库我可以用来向第二台服务器请求新的JSON文件。

我通过AJAX进行Browser-FirstServer请求,一切正常,但AJAX只能在客户端工作,所以我不确定如何为第一秒服务器请求执行此操作。

任何帮助都将不胜感激。

我正在考虑的事情如下:

setInterval(function(){ 
// make request to server 2

//receive JSON file

// use 'fs' for overwriting the JSON from server 1

}, 5000)

2 个答案:

答案 0 :(得分:1)

您可以在nodejs中使用内置的http / https模块,也可以使用request

之类的内容
var request = require('request');
request('/url/for/json', function (error, response, body) {
  if (!error && response.statusCode == 200) {
    //write body to the file system
  }
});

答案 1 :(得分:0)

我强烈建议使用套接字连接到第二个而不是作为web(html)服务器运行...这样,您可以在事件发生时来回传递信息/更改。 Here's an example of using sockets in node.js