我們有一個方法 res.json 可以在 NodeJs 中發送檔案,但是如果我們使用 res.send 發送一個 json 檔案會發生什么。會有什么后果,我們為什么要避免做這件事?
uj5u.com熱心網友回復:
來自快遞檔案:
res.json([正文])
發送 JSON 回應。此方法發送一個回應(具有正確的內容型別),該回應是使用 JSON.stringify() 轉換為 JSON 字串的引數。
引數可以是任何 JSON 型別,包括物件、陣列、字串、布林值、數字或空值,您也可以使用它來將其他值轉換為 JSON。
res.send([正文])
發送 HTTP 回應。
body 引數可以是 Buffer 物件、String、物件、Boolean 或 Array。
此方法為簡單的非流式回應執行許多有用的任務:例如,它自動分配 Content-Length HTTP 回應頭欄位(除非先前定義)并提供自動 HEAD 和 HTTP 快取新鮮度支持。
當引數是 Buffer 物件時,該方法將 Content-Type 回應頭欄位設定為“application/octet-stream”,除非先前定義。
當引數為 String 時,該方法將 Content-Type 設定為“text/html”。
當引數是陣列或物件時,Express 用 JSON 表示回應。
uj5u.com熱心網友回復:
我假設你在談論 ExpressJS:
每當 Express 應用服務器收到 HTTP 請求時,它都會為開發人員提供一個物件,通常稱為 res。例如,
例子
app.get('/test', (req, res) => {
// use req and res here
})
res 物件基本上是指將作為此 API 呼叫的一部分發出的回應。
重新發送:
該res.send功能設定內容型別為text / html這意味著客戶端現在會將其視為文本。然后它將回應回傳給客戶端。
res.json:
在res.json在其它手機功能的內容型別報頭到應用/ JSON,使得客戶端對待回應字串作為一個有效的JSON物件。然后它還將回應回傳給客戶端。
結論:
如果需要,使用 res.send 您必須注意將其轉換為 JSON 物件,而使用 res.json 這是自動完成的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/378997.html
標籤:javascript 节点.js 表达 后端
下一篇:回圈遍歷嵌套的物件陣列
