node js array.length不工作

时间:2016-07-06 02:41:35

标签: javascript node.js

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属性不起作用。

1 个答案:

答案 0 :(得分:2)

rows.length工作得很好,价值为2。但是,当您将数字类型传递给res.send()时,它会将其视为HTTP状态代码,以便在响应中发回。 2不是有效的HTTP状态代码,这就是您收到该特定错误的原因。

如果要将值本身作为响应的主体发送,则需要先将值显式转换为字符串。例如:

res.send('' + rows.length);