私は実装しようとしているJSONを返すこのシンプルなget要求を持っています。私は、ExpressのWebフレームワークのREST APIのためのチュートリアルに従っていますが、何らかの理由で私は同じエラーExpress REST APIの応答メソッドが認識されません
ERROR得続ける:
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:[email protected]/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;
応答オブジェクトを認識できないようです。リクエストとレスポンスをクエリコールバックに渡し、約束を使用するなど、さまざまなことを試してみました。 ここでちょっと必死行き方:res
変数は現在のコンテキスト内に存在しない/
私はそれを混ぜた!私は昨日それを見つけた。今すぐ寝る前に掲示しなければなりませんでした。私は担当者を失いました: '(でも、ありがとうございます:) –