[英]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.