如果NodeJS中的数据发生变化,如何从文件中重新提取?

时间:2015-03-25 20:32:38

标签: javascript json node.js

我的javascript正在从我在NodeJS中制作的服务器中提取JSON数据。数据来自Google电子表格,因此每当我对电子表格进行更改时,JSON数据也会发生变化。

我不想刷新我的网站以应用更新的电子表格数据。每次进行更改时,如何从JSON文件中提取?有人提到在文件上使用时间戳,如果时间戳发生变化,则从文件中拉出。但我找不到一个例子。

现在我将数据从我的节点服务器中的/ latest路由提取到我的javascript。代码如下:

app.get('/latest', function(req,res) {
    var fs = require('fs');
    var obj;
    fs.readFile('public/announcementCurrent.json', function (err, data) {
      if (err) throw err;
      obj = JSON.parse(data);
      res.json(obj)
    });
})

这是我在javascript中调用路线的方式:     $ http.get(' http://localhost:3000/latest&#39)

当announcementCurrent.json文件更改而不必刷新时,如何再次调用路由?

任何帮助都会非常感谢!

1 个答案:

答案 0 :(得分:0)

无需刷新页面即可在javascript中实时获取更新数据的方法是XMl Http请求的全部概念,即AJAX。

基本上,您需要按照您选择的某个时间间隔或用户操作查询Google API以获取最新数据并相应地更新您的网页。

您应该尝试获取有关如何进行ajax调用的更多信息,以及如何查询Google电子表格API。基本上,使用jQuery(例如),它看起来像:

$.get('http://google-spreadsheet-api-url', function( data ) {
  // Dynamically refresh the content of the page using data
})