I am trying to send an integer via response.send()
but I keep getting this error
express deprecated res.send(status): Use res.sendStatus(status) instead
I am not sending a Status, my code is
app.get('/runSyncTest' , function(request, response){
var nodes = request.query.nodes;
var edges = request.query.edges;
if (edges == "" ){
edges = []
}
userStory.userStory(nodes,edges);
connection.query('SELECT MAX(id) as id FROM report ', function(err,results, fields) {
idTest = results[0].id
response.send (idTest)
});
});
You could try this:
res.status(200).send((results[0].id).toString());
Guys are right - it doesn't allow numbers.
Prooflink: http://expressjs.com/4x/api.html#res.send
This is because you are sending numeric value in the res.send.
You could send a json object or convert it to string.
(as mentioned in the comments already)
The manual states:
The body parameter can be a Buffer object, a String, an object, or an Array.
So integers aren't directly supported and need to be converted to one of those types first. For instance:
response.send(String(idTest));
Use like this,
res.status(404).send('Page Not found');
As long as you're not sending String or Object/Array data you get an error.
Solution convert your data to string:
app.get('/runSyncTest', function(req, res) {
var number = 5000;
res.send((number).toString()); //Number is converted with toString()
});