app.get('/', function(req,res){
conn.query('SELECT * FROM db', function(err, rows, fields){
res.send(rows.length);
});
});
当我转到'/'
网址时,
我收到错误说:
RangeError:无效的状态代码:2 在ServerResponse.writeHead(_http_server.js:192:11) 在ServerResponse.writeHead(/ var / www / html / node_modules /....
为什么会这样?
我可以发送行,结果是:
[{"id":"1", "email":"aaa@aaa.com", "nickname":"hahah"}, {"id":"2", "email":"bbb@bbb.com", "nickname":"hohoho"}]
length
属性不起作用。
答案 0 :(得分:2)
rows.length
工作得很好,价值为2
。但是,当您将数字类型传递给res.send()
时,它会将其视为HTTP状态代码,以便在响应中发回。 2
不是有效的HTTP状态代码,这就是您收到该特定错误的原因。
如果要将值本身作为响应的主体发送,则需要先将值显式转换为字符串。例如:
res.send('' + rows.length);