在呼叫 API 端點后,我試圖發送一些整數值作為回應。這是說明問題的示例代碼:
app.post('/add5', (req, res) => {
result = req.body.num 5;
res.send(result);
});
這是請求有效負載:
{
"num": 7
}
預期輸出:12
但是以下輸出登錄終端并且沒有收到(空白)回應。
RangeError [ERR_HTTP_INVALID_STATUS_CODE]: Invalid status code: 12
at new NodeError (node:internal/errors:371:5)
at ServerResponse.writeHead (node:_http_server:272:11)
at ServerResponse._implicitHeader (node:_http_server:263:8)
at ServerResponse.end (node:_http_outgoing:871:10)
at ServerResponse.send (/storage/emulated/0/codes/api/node_modules/express/lib/response.js:221:10)
at /storage/emulated/0/codes/api/index.js:208:7
at Layer.handle [as handle_request] (/storage/emulated/0/codes/api/node_modules/express/lib/router/layer.js:95:5)
at next (/storage/emulated/0/codes/api/node_modules/express/lib/router/route.js:137:13)
at Route.dispatch (/storage/emulated/0/codes/api/node_modules/express/lib/router/route.js:112:3)
at Layer.handle [as handle_request] (/storage/emulated/0/codes/api/node_modules/express/lib/router/layer.js:95:5)
但是,在字串中添加一些字串完全沒問題。
app.post('/add5', (req, res) => {
result = req.body.num 5;
res.send("Result: " result);
});
這將回傳預期的輸出,即結果:12
uj5u.com熱心網友回復:
使用res.json(result)或res.send(JSON.stringify(result))或res.send(200, result)。否則 express 假定您將 http 狀態代碼傳遞給send,如錯誤訊息所示。或者升級到 express 4,這種情況不會再發生了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/367808.html
標籤:javascript 节点.js 接口 表达 回复
