我通过POST发送json到nodejs,我在index.js中声明了router.post,(/routes) 我如何保存它以便以后可以实际使用?请记住,每 60 秒我都会收到新数据,这些数据应该取代旧数据。
我正在监听端口 3000
var express = require('express');
var router = express.Router();
var saveme
/* GET home page. */
router.get('/index', function(req, res, next) {
res.render('index', { title: 'RLH' });
});
router.post('/index', function(req, res, next) {
data = req.body;
console.log('OK')
});
module.exports = router;
我不知道如何保存通过 POST 获得的内容,以便稍后我可以在我的网站上使用它。
最佳答案
有多种方式使用全局变量:
方法1
使用app.locals
:
在主文件(例如:server.js)中声明app.locals.data = {};
var app = express();
app.locals.data = {};
app.locals
可用于 req 对象,如 req.app.locals
。当您有新数据时,您可以将其更新为:
req.app.locals.data = req.body;
方法2
使用全局
对象
将新数据分配为global.data = req.body
您始终可以在相同或不同的模块中以 global.data
形式访问数据
方法3(推荐)
使用以下代码创建文件 globaldata.js
module.exports = {};
在需要访问或更新全局数据的地方导入globaldata.js
var globaldata = require('./globaldata.js');
globaldata = req.body;
推荐什么?小型应用程序的全局方法,大型应用程序的 module.exports。
您可以阅读下面的引用文献。了解更多详情:
https://www.hacksparrow.com/nodejs/global-variables-in-node-js.html
关于node.js - 如何将POST保存到 Node 中的全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57961332/