Express Response 之 end /send 傻傻分不清楚


    Express是一個輕量的經典的Node.js開啟服務和快速路由管理的庫。開啟服務的方式也是非常的簡單

只需要簡單的,安裝 $ npm install express   -------> 引入  const express = require('express') --------> 調用 express   , const app =express();

app就是express的一個實例了。下面是開啟服務的方式,非常簡單。

app.use(function(req,res){}).listen(port)  支持鏈式的調用。

其中res, req  與 node 自帶中http模塊中的req,res一致 都是請求和響應 ,但是express提供了一個新的api 

express.send()方法,而且跟原來res上的方法end非常之相似。

http 模塊中  end()  參數 發送返回時,end(data,[encode])  第二個參數可以用來標記格式,比如返回html時,第二個參數可以指定為end('./index.html','utf-8');

而  send() 方法中沒有  第二個參數,當使用send(data,encode) 時,會默認把第一個參數,當做是statusCode 狀態碼,然后報錯。使用時,應該區分開來

如果你遇到以下錯誤

 

 

 那么就是 res.send方法把第一個參數,當做是狀態碼,並進行了報錯。

那么總結一下,使用send方法的話,第一個參數就是狀態碼,,第二個參數是數據本身。

使用send時,盡量不使用兩個參數,如果需要同時使用狀態碼,可以現在建議的方式,也是express推薦的鏈式的方式

res.status(statusCode).send(data) 的方式來寫把。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM