我正在尝试将卸载从Oracle带到Node.JS到正常JSON视图:
{
"name": "Bob",
"age": 21
}
我的代码:
router.get('/policy',function(req, res) {
oracledb.getConnection(
cfg.database,
function (err, connection) {
if (err) {
console.error(err.message);
return;
}
connection.execute(`select * from * where *`, function(err, result) {
var p = {};
var results = result.rows;
if (err) {
res.status(501);
console.log(err.message);
doRelease(connection);
return;
} else {
for (var i = 0; i<= results.length; i) {
for (var j = 0; j <= results[i].length; j++) {
p.policyId = results[i][j];
p.policyNo = results[i][j];
p.status = results[i][j];
}
}
res.status(200);
// res.json(result);
doRelease(connection);
console.log(p);
}
}
)
当我访问它时,/policy我收到一个错误:
TypeError:无法读取未定义的属性“长度”
如果您尝试获取数组的长度,其中数组:
-console.log(results.length);获取值(在本例中为 5);
- 另外,如果我得到剩余数组的长度,console.log(results[0].length);我会得到一个值(在本例中为 3),但FOR通过循环返回错误......
UPD。
我做了一段这样的代码:
for (var i = 0; i < results.length; i++) {
p.policyId = results[i][0];
p.policyNo = results[i][1];
p.status = results[i][2];
}
res.send(p);
但我只得到 1 个结果。如果res.send(p);我把它放在一个循环中,我会得到一个错误:
错误:发送后无法设置标头。
但是错误很明显,只是不清楚如何发送循环的所有结果......
解决了这样的问题: