使用 NodeJS + Express 簡單 GET/POST Request 取值

現(xiàn)在express 要安裝 body-parser 中間件

node install body-parser --save

app.js 寫入文件


var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({extended: true}));

過去無論哪一種網(wǎng)站應(yīng)用程式的開發(fā)語言,初學(xué)者教學(xué)中第一次會提到的起手式,八九不離十就是GET/POST Request 的取值。
但是,在Node.js + Express 的世界中,仿佛人人是高手,天生就會使用,從不曾看到有人撰文說明。

這應(yīng)該算是開發(fā)Web Service 的入門,在Client 與Server 的互動中,瀏覽器發(fā)出GET/POST Request 時會傳值給Server-side,常見應(yīng)用就是網(wǎng)頁上以POST method 送出的表單內(nèi)容,
或是網(wǎng)址列上的Query Strings (ex: page?page=3&id=5)。
然后,我們的網(wǎng)站應(yīng)用程式透過解析這些參數(shù),得到使用者上傳的資訊。

取得GET Request 的Query Strings:

GET /test?name=fred&tel=0926xxx572
app.get('/test', function(req, res) { console.log(req.query.name); 
console.log(req.query.tel);});

如果是透過表單且是用POST method:

<form action='/test' method='post'> 
<input type='text' name='name' value='fred'> 
<input type='text' name='tel' value='0926xxx572'> 
<input type='submit' value='Submit'> 
</form>app.post('/test', function(req, res) { console.log(req.query.id); 
console.log(req.body.name);
console.log(req.body.tel);});

當(dāng)然也可以Query Strings 和POST method 的表單同時使用:

<form action='/test?id=3' method='post'> 
<input type='text' name='name' value='fred'> 
<input type='text' name='tel' value='0926xxx572'>
<input type='submit' value='Submit'> 
</form>app.post('/test', function(req, res) { console.log(req.query.id); 
console.log(req.body.name); 
console.log(req.body.tel);});

順帶補(bǔ)充,還有另一種方法傳遞參數(shù)給Server,就是使用路徑的方式,可以利用Web Server 的HTTP Routing 來解析,常見于的各種Web Framework。
這不算是傳統(tǒng)標(biāo)準(zhǔn)規(guī)范的做法,是屬于HTTP Routing 的延伸應(yīng)用。

GET /hello/fred/0926xxx572
app.get('/hello/:name/:tel', function(req, res) { console.log(req.params.name); 
console.log(req.params.tel);});

來源:

http://liuxufei.com/blog/jishu/798.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容