我在一个管理足球联赛的网站上工作,利用angularjs& nodejs没有任何数据库...... 我对teamInfo.json这样对待:
var express = require('express'),
http = require('http');
var fs = require('fs');
var teamsInfo = require('./data/teamsInfo.json');
var app = express()
.use(express.bodyParser())
.use(express.static('public'));
app.get('/teamsInfo', function (req, res) {
res.json(teamsInfo);
});
app.post('/teamsInfo', function (req, res) {
teamsInfo.push(req.body);
fs.writeFile('./data/teamsInfo.json', JSON.stringify(teamsInfo));
res.json(req.body);
});
app.post('/teamsInfo/:id', function (req, res) {
//something
});
它工作正常,但这不是重点,我的问题是当你想存储和显示周结果给用户。
我们的结果数据存储如下:result1.json - result2.json - result3.json
和...
如果我想用这个json来对待teamsInfo.json
我应该对许多人来说并发布函数来处理请求和响应。重点是他们所有人都做同样的事情,因为结果json的格式是相同的。
我的问题是:
如何在用户点击nextWeekResult函数时创建json文件? (我通过计数器评估名称,然后在我的系统中进行物理创建)
如何只编写一个处理所有result.json文件的get和post函数?
感谢。
答案 0 :(得分:1)
我不太清楚你的要求是什么,但是为了动态加载/保存文件,你可以使用提供的id来构建动态文件名来定位。如果您要让最终用户指定要使用的ID,请根据ID动态获取文件的示例:
app.get('/teamsInfo/:id', function(req, res) {
// dynamically build file to load based on id
var filename = util.format('teamsInfo%s', req.params.id);
var teamInfox = require(util.format('./data/%s.json, filename));
res.json(teamsInfox);
});