2017-01-23 34 views
1

在節點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)?

謝謝!

回答

1

res.send()仍然被允許,據我所知。它會默認發送狀態200。

如果要發送不同的狀態,可以使用res.sendStatus()(將結束請求)或res.status(),然後再使用res.send()作爲自定義響應。

+0

仍然得到這個:拋出新的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

+1

您正在收到'RangeError:Invalid status code:10',因爲10不是我會說有效的狀態碼。嘗試使用一些有效的狀態代碼https://en.wikipedia.org/wiki/List_of_HTTP_status_codes –

0

您應該能夠設置這樣的狀態:

res.status(200).json(json_response); 

這將HTTP狀態代碼設置爲200和JSON是可選的,如果你需要發送一些JSON對象,你可以使用它。

這是Express API的一部分,您可以在其documentation中找到更多信息。我假設你正在使用Express 4.