使用 NodeJS + Express從GET/POST Request 取值

過去不管哪種網站應用程式的開發語言,初學者教學中第一次會提到的起手式,八九不離十就是GET/POST Request 的取值。可是,在Node.js + Express 的世界中,彷彿人人是高手,天生就會使用,從未曾看到有人撰文說明。html

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

取得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:

 

<formaction='/test'method='post'> 
   
<inputtype='text'name='name'value='fred'>
   
<inputtype='text'name='tel'value='0926xxx572'>
   
<inputtype='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);
});

 

固然也能夠Query Strings 和POST method 的表單同時使用:

 

<formaction='/test?id=3'method='post'> 
   
<inputtype='text'name='name'value='fred'>
   
<inputtype='text'name='tel'value='0926xxx572'>
   
<inputtype='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);
});

 

順帶補充,還有另外一種方法傳遞參數給Server,就是使用路徑的方式,能夠利用Web Server 的HTTP Routing 來解析,常見於的各類Web Framework。這不算是傳統標準規範的作法,是屬於HTTP Routing 的延伸應用。app

 

GET /hello/fred/0926xxx572

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

 

 

 

 

(責任編輯:CIT.CN)ide

相關文章
相關標籤/搜索