web-dev-qa-db-fra.com

node-express error: express obsolète obsolète res.send (status): utilisez plutôt res.sendStatus (status)

J'essaie d'envoyer un entier via response.send() mais je continue à avoir cette erreur 

express obsolète res.send (status): utilisez res.sendStatus (status) 

Je n'envoie pas de statut, mon code est 

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)
});

});
14
D-W-A

Vous pouvez essayer ceci:

res.status(200).send((results[0].id).toString());

Les gars ont raison - cela ne permet pas les chiffres . Prooflink: http://expressjs.com/4x/api.html#res.send

34
Donskikh Andrei

C'est parce que vous envoyez une valeur numérique dans le res.send.

Vous pouvez envoyer un objet JSON ou le convertir en chaîne.

7
Jerome Miranda

(comme mentionné dans les commentaires déjà)

Le manuel indique :

Le paramètre body peut être un objet Buffer, une chaîne, un objet ou un tableau.

Les entiers ne sont donc pas directement pris en charge et doivent d'abord être convertis en l'un de ces types. Par exemple:

response.send(String(idTest));
5
robertklep

Utilisez comme ça,

res.status(404).send('Page Not found');
4
Anshul Bisht

Tant que vous n'envoyez pas de données String ou Object/Array, vous obtenez une erreur . Solution convertissez vos données en chaîne:

app.get('/runSyncTest', function(req, res) {
    var number = 5000;
    res.send((number).toString()); //Number is converted with toString()
});
1
RegarBoy