使用NodeJS(或PHP)将API数据保存到JSON文件

时间:2017-12-14 20:16:08

标签: javascript php json node.js

有没有办法将数据从API保存到JSON文件,NodeJS使用XMLHttpRequest?

API数据应该显示在网站上,但是API的速度非常慢,所以为了解决这个问题,我会将数据保存在服务器上,每5分钟在网站上显示最新的数据。

API是公开的,如果有帮助,则链接为http://lonobox.com/api/index.php?id=100002519

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

嘿我对节点服务器做了类似的事情,该节点服务器对我在工作中使用的JSON数据执行基本功能。在保存数据时,我只需将其发送到服务器即可。

但是当我阅读数据时,我使用XMLHttpRequest来完成它,让我来说明它是如何工作的,这应该会给你一个良好的开端。

POST文件到服务器。

df2 = df2.drop('weight', 1).merge(df1, on=['0', '1'])
df2.head()

      0        1   2  weight
0  Andy   Claude   0       1
1  Andy    Frida  20       1
2  Andy  Georgia -10       1
3  Andy     Joan  30       1
4  Andy      Lee -10       1

从这里你可以像XMLHttpRequest一样获取数据......

function processFile(e) {
    var file = e.target.result,results;


    if (file && file.length) {
        $.ajax({
          type: "POST",
          url: "http://localhost:8080/",
          data: {
            'data': file
        }
        }).done(function(msg) {
            appendText("Data Saved: " + msg);
        });
    }
}

服务器代码

function getFile(){
    var rawFile = new XMLHttpRequest();
    rawFile.open("GET", "filename.json", false);
    rawFile.onreadystatechange = function ()
    {
        if(rawFile.readyState === 4)
        {
            if(rawFile.status === 200 || rawFile.status == 0)
            {
             var fileText = rawFile.responseText;
         }
     }
 }
 rawFile.send(null);
}

服务器端需要FS,我使用Express进行路由。