在節點0.12我被渲染狀態:節點6.9.1:這樣如何呈現一個整數狀態
res.send(10)
在6.9.1這是不允許的了,似乎我們只能渲染狀態碼在HTTP狀態管理器中。所以我正在研究如何解決這個問題,而無需更改Web客戶端。
JSONP似乎是我的第一選擇
app.get("/test", function(req, res){
res.jsonp({ "status": "10" });
});
但它有某事。像res.jsonp(10)?
謝謝!
在節點0.12我被渲染狀態:節點6.9.1:這樣如何呈現一個整數狀態
res.send(10)
在6.9.1這是不允許的了,似乎我們只能渲染狀態碼在HTTP狀態管理器中。所以我正在研究如何解決這個問題,而無需更改Web客戶端。
JSONP似乎是我的第一選擇
app.get("/test", function(req, res){
res.jsonp({ "status": "10" });
});
但它有某事。像res.jsonp(10)?
謝謝!
res.send()
仍然被允許,據我所知。它會默認發送狀態200。
如果要發送不同的狀態,可以使用res.sendStatus()
(將結束請求)或res.status()
,然後再使用res.send()
作爲自定義響應。
您應該能夠設置這樣的狀態:
res.status(200).json(json_response);
這將HTTP狀態代碼設置爲200和JSON是可選的,如果你需要發送一些JSON對象,你可以使用它。
這是Express API的一部分,您可以在其documentation中找到更多信息。我假設你正在使用Express 4.
仍然得到這個:拋出新的RangeError('無效的狀態碼:$ {statusCode}'); ^ 的RangeError:無效狀態碼:10 在ServerResponse.writeHead(_http_server.js:192:11) 在ServerResponse.writeHead(/opt/ultra_app_0/iuvweb/node_modules/on-headers/index.js:55: 19) at ServerResponse._implicitHeader(_http_server.js:157:8) at ServerResponse.OutgoingMessage.end(_http_outgoing.js:571:10) – user3552178
您正在收到'RangeError:Invalid status code:10',因爲10不是我會說有效的狀態碼。嘗試使用一些有效的狀態代碼https://en.wikipedia.org/wiki/List_of_HTTP_status_codes –