node-express error : express deprecated res.send(status): Use res.sendStatus(status) instead
node-express error : express deprecated res.send(status): Use res.sendStatus(status) instead
我正在尝试通过 response.send()
发送一个整数,但我一直收到此错误
express deprecated res.send(status): Use res.sendStatus(status) instead
我没有发送状态,我的代码是
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)
});
});
你可以试试这个:
res.status(200).send((results[0].id).toString());
伙计们是对的 - 它不允许数字。
校对链接:http://expressjs.com/4x/api.html#res.send
(如评论中所述)
The body parameter can be a Buffer object, a String, an object, or an Array.
因此不直接支持整数,需要先将其转换为其中一种类型。例如:
response.send(String(idTest));
这样使用,
res.status(404).send('Page Not found');
这是因为您在 res.send 中发送数值。
您可以发送一个 json 对象或将其转换为字符串。
只要您不发送字符串或 Object/Array 数据,就会收到错误消息。
解决方案将您的数据转换为字符串:
app.get('/runSyncTest', function(req, res) {
var number = 5000;
res.send((number).toString()); //Number is converted with toString()
});
已弃用,Express 5 不再支持像 -
这样的签名
res.json(200, {
result: result
});
相反,使用下面的方法,意味着您只需要更改发送响应的格式。
res.status(statusCode).json(result);
示例 -
res.status(200).json({'success' : true, 'result': result})
由于 res.send(403);
,我在 node-express 打字稿项目中收到弃用警告
解决方案 1 -
res.sendStatus(403);
解决方案 2 -
res.status(403).json(
{
'success': false,
'result': 'forbidden'
}
)
我正在尝试通过 response.send()
发送一个整数,但我一直收到此错误
express deprecated res.send(status): Use res.sendStatus(status) instead
我没有发送状态,我的代码是
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)
});
});
你可以试试这个:
res.status(200).send((results[0].id).toString());
伙计们是对的 - 它不允许数字。 校对链接:http://expressjs.com/4x/api.html#res.send
(如评论中所述)
The body parameter can be a Buffer object, a String, an object, or an Array.
因此不直接支持整数,需要先将其转换为其中一种类型。例如:
response.send(String(idTest));
这样使用,
res.status(404).send('Page Not found');
这是因为您在 res.send 中发送数值。
您可以发送一个 json 对象或将其转换为字符串。
只要您不发送字符串或 Object/Array 数据,就会收到错误消息。 解决方案将您的数据转换为字符串:
app.get('/runSyncTest', function(req, res) {
var number = 5000;
res.send((number).toString()); //Number is converted with toString()
});
已弃用,Express 5 不再支持像 -
这样的签名res.json(200, {
result: result
});
相反,使用下面的方法,意味着您只需要更改发送响应的格式。
res.status(statusCode).json(result);
示例 -
res.status(200).json({'success' : true, 'result': result})
由于 res.send(403);
解决方案 1 -
res.sendStatus(403);
解决方案 2 -
res.status(403).json(
{
'success': false,
'result': 'forbidden'
}
)