Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript NodeJS服务器请求_Javascript_Ajax_Node.js - Fatal编程技术网

Javascript NodeJS服务器请求

Javascript NodeJS服务器请求,javascript,ajax,node.js,Javascript,Ajax,Node.js,我正在和NodeJS一起工作,我仍然很熟悉它 根据我的系统结构,我有两台NodeJS服务器在不同的机器上运行。 用户/浏览器向第一台服务器发送请求,第一台服务器向浏览器返回位于第一台计算机中的JSON文件 第一台服务器每5-10秒更新一次JSON文件,并向第二台服务器发送请求,第二台服务器返回另一个JSON文件,该文件的数据将覆盖第一台服务器JSON文件中的数据,因此下一个用户/浏览器请求将被更新。 第二台服务器也有一个NodeJS服务器在运行,但它只发送来自第一台服务器的请求 我有这种结构,因

我正在和NodeJS一起工作,我仍然很熟悉它

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

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

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

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

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

我通过AJAX使浏览器FirstServer请求正常工作,但是AJAX只在客户端工作,所以我不确定如何处理第一个服务器请求

任何帮助都将不胜感激

我的期望是:

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

//receive JSON file

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

}, 5000)

您可以使用nodejs中的内置/模块,也可以使用类似


我强烈建议使用套接字连接到第二个服务器,而不是同时作为web(html)服务器运行。。。这样,您可以在事件发生时来回传递信息/更改

你看过了吗?看起来你想要一个简单的缓存代理服务器。我仍然没有任何关于处理更新的代码,因为我不知道如何从服务器2请求JSON。
var request = require('request');
request('/url/for/json', function (error, response, body) {
  if (!error && response.statusCode == 200) {
    //write body to the file system
  }
});