[英]Node.js only reloads a json file on server restart although that should happen dynamically
我的ejs模板中有一个Post表单,该表单通过Ajax / post传递一个对象,而无需重新加载页面。 然后,我的app.js中的处理程序将数据保存到data.json中。 所有这一切都运行良好。
我唯一关心的是节点似乎只需要json文件一次,我已经尝试过使用setInterval()了,这一点都没有区别。 所需的功能是,在每隔一次提交表单后,服务器就会重新加载data.json。 此外,我有一个iframe,其中显示了已加载的数据。 这应该是即时发生的,因此无需刷新页面。
对于您上面的评论,套接字与它无关。
要回答您的问题,您可以将该JSON保留在内存中,将该对象创建为代码(文件)各部分均可访问的全局对象。
代码示例->
app.js-
global_json = require('../path/myJSON'); //please note that I am not using var here to make it global
//Rest of the code
file1.js-
module.exports = fun(req, res) {
global_json.something = req.body.something;
//global_json accessible in every file
}
另类
如果这不是用例,那么您可以在每个请求中(从发布中)读取和写入文件,尽管文件读取/写入速度很慢,但是对于node.js服务器来说这不会成为瓶颈。
function formpost(req, res) {
var data = req.body;
fs.writeFile('filename.json', JSON.stringify(data), cb);
}
//与读取相同
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.