[英]Saving API data to JSON file with NodeJS (or PHP)
是否可以通过NodeJS使用XMLHttpRequest将数据从API保存到JSON文件?
该API数据应该显示在网站上,但是该API的运行速度越来越慢,因此,为了解决此问题,我将数据保存在服务器上,并每5分钟在网站上显示最新数据。
该API是公开的,如果有帮助,链接为http://lonobox.com/api/index.php?id=100002519 。
任何帮助是极大的赞赏。
嘿,我对节点服务器执行类似的操作,该节点服务器对我在工作中使用的JSON数据执行基本功能。 当要保存数据时,我只需将其发布到服务器即可。
但是,在读取数据时,我使用XMLHttpRequest来完成它,让我说明一下它是如何工作的,这应该为您提供一个良好的开端。
POST文件到服务器。
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);
});
}
}
在这里,您可以像这样使用XMLHttpRequest获取数据。
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);
}
服务器代码
app.post('/', function(req, res) {
var fileLoc = __dirname.split("\\").length > 1 ? __dirname + "\\public\\filename.json" : __dirname + "/public/filename.json";
fs.writeFile(fileLoc, req.body.data, function(err) {
if (err) {
res.send('Something when wrong: ' + err);
} else {
res.send('Saved!');
}
})
});
服务器端需要FS,我使用Express进行路由。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.