2015-03-25 2 views
0

В настоящее время мой javascript потянет данные JSON с сервера, который я сделал в NodeJS. Данные поступают из электронной таблицы google, поэтому всякий раз, когда я вношу изменения в таблицу, меняются данные JSON.Как перетащить файл из файла, если изменения данных в NodeJS?

Я не хочу обновлять свой сайт, чтобы применить обновленные данные электронных таблиц. Как я могу извлекать из файла JSON каждый раз, когда происходят изменения? Кто-то упомянул использование временных меток в файле, и если метка времени изменится, то вытащите из файла. Но я не мог найти пример.

Прямо сейчас я вытаскиваю данные с последнего маршрута на своем узлом сервере на свой 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»)

Как я могу позвонить еще раз маршрут, когда изменения announcementCurrent.json файлов без нужно обновить?

Любая помощь была бы большой!

ответ

0

Способ получения обновленных данных в реальном времени в javascript без необходимости обновления страницы - это вся идея XMl Http-запросов, например AJAX.

В принципе, вам потребуется в течение некоторого промежутка времени или действия пользователя по вашему выбору запросить API Google, чтобы получить последние данные и соответствующим образом обновить страницу.

Вы должны попытаться получить дополнительную информацию о том, как сделать вызов ajax и как запросить API электронной таблицы google. В принципе, используя jQuery, например, (гул), это будет выглядеть так:

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

Я только что редактировал свой вопрос. Могу дать вам дополнительную информацию. – nehas

+0

@ user3726872 От вашего клиента делают '$ http.get' каждые 5 секунд или что-то в этом роде. – laggingreflex

+0

Есть ли способ сделать это ТОЛЬКО, когда документ был изменен? Может быть, использовать временные метки? – nehas

Смежные вопросы