我试图在我的POST上为我的Express App返回JSON。
我收到错误"express deprecated res.send(status, body):使用res.status(status).send(body)"但是,即使我改变了有错误的行,它仍然显示相同的错误。
我的包。json是:
{
"name": "Email",
"version": "1.0.0",
"description": "",
"main": "app.js",
"scripts": {
"start": "node app.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"@azure/cognitiveservices-face": "^4.2.0",
"@azure/ms-rest-js": "^2.6.0",
"axios": "^0.23.0",
"express": "^4.17.1",
"nodemailer": "^6.7.0"
}
}
express使用的名称:
const express = require("express");
const bodyParser = require("body-parser");
const app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
我试图获得成功响应的代码是:
app.post("/analisis/faceid", (req, res) => {
let img = req.body.img;
axios({
method: "post",
url: endpoint_faceID,
params: {
detectionModel: "detection_03",
returnFaceId: true,
},
data: {
url: img,
},
headers: {
"Ocp-Apim-Subscription-Key": Ocp_Apim_Subscription_Key,
},
})
.then(function (response) {
let response_data = {
mgs: "OK",
faceId: response.data[0].faceId
};
res.send(response_data); //HERE IS WHERE THE ERROR APPEARS
})
.catch(function (error) {
res.send("ERROR AT FACE ID : ", error);
});
});
我已经试着用:
res.json(response_data)
res.jsonp(200, response_data)
res.status(200).send(response_data)
res.status(200).send(JSON.stringify(response_data))
res.status(200).json(response_data)
res.status(200).jsonp(response_data)
但是我总是得到相同的错误。
PD: sorry for my English
谢谢大家。
问题是我试图传递给catch
的两个参数