gpt4 book ai didi

json - 无法识别 Express REST API 响应方法

转载 作者:太空宇宙 更新时间:2023-11-03 22:41:13 25 4
gpt4 key购买 nike

我有一个非常简单的 get 请求,它返回我正在尝试实现的 json。我已遵循 Express Web Framework REST API 的教程,但由于某种原因我不断收到相同的错误

错误:

TypeError: res.status is not a function

TypeError: res.json is not a function

index.js:

 var express = require('express');
var router = express.Router();
var pg = require('pg');
var connectionString = 'pg://postgres:postgres@postgres/feed';

/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });

});

router.get('/api/leaderboard', function(resp, req){
var results = [];
pg.connect(connectionString, function(err, client, done){
if(err){
done();
console.log(err);
return res.status(500).json({ success: false, data: err});
}
var query = client.query("SELECT * FROM log WHERE (logged >= date_trunc('week', CURRENT_TIMESTAMP - interval '1 week') AND logged <= date_trunc('week', CURRENT_TIMESTAMP));");
var counter = 0;
var b1 = {};
var b2 = {};
var b3 = {};
var b4 = {};
b1.energy_sum_week = 0;
b2.energy_sum_week = 0;
b3.energy_sum_week = 0;
b4.energy_sum_week = 0;
b1.zne_sum_week = 30000;
b2.zne_sum_week = 30000;
b3.zne_sum_week = 30000;
b4.zne_sum_week = 30000;
query.on('row', function(row){
//results.push(row);
if(row['address'] == 215){
b1.energy_sum_week = row['kitchen'] + row['plugload'] + row['lights'] + row['ev'] + row['hvac'] + row['instahot'] - row['solar'];
}
else if (row['address'] == 1590) {
b2.energy_sum_week = row['kitchen'] + row['plugload'] + row['lights'] + row['ev'] + row['hvac'] + row['instahot'] - row['solar'];

} else if (row['address'] == 1605) {
console.log(row);
b3.energy_sum_week = row['kitchen'] + row['plugload'] + row['lights'] + row['ev'] + row['hvac'] + row['instahot'] - row['solar'];

} else if (row['address'] == 1715) {
b4.energy_sum_week = row['kitchen'] + row['plugload'] + row['lights'] + row['ev'] + row['hvac'] + row['instahot'] - row['solar'];
}

});
query.on('end', function(){
done();
//make zne lower than everything
results.push(b1);
results.push(b2);
results.push(b3);
results.push(b4);
resp.json(results);

});

});

});


module.exports = router;

它似乎无法识别响应对象。尝试了很多不同的事情,例如将请求和响应传递给查询回调,以及使用 promise 。这里有点绝望:/

最佳答案

当前上下文中不存在 res 变量,您可能期望该行

router.get('/api/leaderboard', function(resp, req){

有这个表格

router.get('/api/leaderboard', function(req, res){

关于json - 无法识别 Express REST API 响应方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37577353/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com