【发布时间】:2014-06-19 14:53:52
【问题描述】:
我是一个相当菜鸟的程序员,正在努力学习 express。
我目前定义了一个全局数组
var labreport1 = [...]
var labreport2 = [...]
然后我运行一个函数来调用数据并将成功调用作为对象放入数组中,因此 labreport1[4] 就像一个 5000 对象 json 示例。
很喜欢
function getData (x) {...
writeRes(x, res);
return x[4]
...;}
function writeRes(x, z) {
x[4] = z;
};
其中 z 是我的数据调用的响应。
然后我使用 express 发送该 json 对象。
所以
app.get('/labreport1', function(req, res) {
getData(labreport1);
res.header("Content-Type", "application/json; charset=utf-8");
res.json(labreport1[4]);
});
这一切都很好而且花花公子,但编程规则是,如果我一遍又一遍地复制和粘贴相同的函数,除了更改一个一致的变量,我应该编写一个函数或其他东西吗?
但是现在,labreports 的数量正在增加很多,我不想为每个报告一遍又一遍地复制和粘贴 app.get,所以我尝试使用 req.params
app.get('/:labreport', function(req, res) {
这就是我缺乏经验的地方。我必须将 req.params('labreport') 放入像 reportName 这样的变量中,对吗?
如果我使用 req.params('labreport') 并以 labreport1 的方式访问页面,req.params 只会将 labreport1 作为字符串返回。因此,当我将 reportName 输入到进行调用并将数据放入数组的 getData 函数中时,它表示此时我的全局数组是未定义的,reportName 是一个“字符串”(所以它返回为“labreport1”而不是找到传递对象)
如果我删除一个调试器并单步执行我的应用程序。如果我使用 :labreport,我的数组是未定义的。但在我之前的原始设置中,我的数组定义正确!
我是按照正确的方式去做还是在寻找其他东西?
【问题讨论】:
标签: javascript json node.js express