2
我正在使用OpenShift和Node.js 我想獲得每個結果的平均評分,但我不能 得到響應工作,即使控制檯報告正確。 我得到3.9454323到控制檯,但是當我git localhost:3002/getM/1的響應是空白的。Node.js(Openshift)快速響應不起作用
app.get('/getM/:movieId', function(request,response) {
var movieId = request.params.movieId;
var connection = mysql.createConnection({
host: process.env.OPENSHIFT_MYSQL_DB_HOST || 'localhost',
user: process.env.OPENSHIFT_MYSQL_DB_USERNAME || 'root',
password: process.env.OPENSHIFT_MYSQL_DB_PASSWORD || '',
port: process.env.OPENSHIFT_MYSQL_DB_PORT || '3306',
database: 'test'
});
connection.connect(function (err) {
if (err) {
console.error('error connecting: ' + err.stack);
response.send("error connecting to database");
return;
}
console.log('connected as id ' + connection.threadId);
});
connection.query('SELECT * FROM `ratings` WHERE `movieId` = ?',[movieId], function(err, result) {
if (err) {
response.send(err);
}
var sum = 0;
result.forEach(function(movie) {
sum += movie["rating"];
console.log(sum);
});
console.log(sum/result.length);
response.send(sum/result.length);
});
});
您是否獲得了'作爲連接ID(..)'信息,即你正確連接到數據庫? –
是的,我甚至可以得到結果sum/result.length。如果我將響應更改爲字符串「測試」,我得到響應。這是一個內容類型的問題? – PoolHallJunkie
你的描述有點混亂;確切的問題是什麼? console.log是正確的,但響應是空白的?你有沒有嘗試發送一個字符串作爲迴應,看看它是否有效? –