2018年12月23日 星期日

【Express】用params的去讀取路徑&用query去搜索資訊


params在做什麼?

params會傳到後端,用在讀取網址路徑所用

▌簡介

如果設定是app.get(‘/user/:name‘, function (req, res) {…}
當使用者輸入「http://localhost/user/nissen」,那nissen這個資料就會傳回伺服器,儲存在req.params這個物件中
console.log(req.params.name;) // nissen

▌範例

  • req.params會儲存:name中的資料
var express = require('express');
var app = express();

app.get('/user/:name', function (req, res) {
    var myName = req.params.name;  
    console.log(myName)
    res.send("Hello!" + myName);
});

var port = process.env.PORT || 3000; //如果前面是flase就會進入3000
app.listen(1222);

qurery在做什麼?

很常用在當在搜索一個大資料內容的細部資料(例如撈10筆資料、五個關鍵字、價格在100元以上的產品)
當使用者輸入「http://localhost/user/nissen?limit=20 & keyword=shirt & color=blue」,參數(query)就會被送到後端,讓後端使用這些參數

▌簡介

  • query可以用來做搜尋
    比如說使用者搜尋 ? limit=20 & keyword=shirt & color=red
    後端就會得到{ limit: ‘20’, keyword: ‘shirt’, color: ‘red’ }
  • 使用者輸入的資料,會存在伺服器的req.query當中
  • 可以用變數去儲存那些變數(像是:var limit = req.query.limit;)
var express = require('express');
var app = express();

app.get('/user/:name', function (req, res) {
    var myName = req.params.name;
    var limit = req.query.limit;
    var keyword = req.query.keyword;
    console.log(req.query)
    res.send("Hello!<br>" + myName + "搜尋" + limit + "筆資料");
});

var port = process.env.PORT || 3000; //如果前面是flase就會進入3000
app.listen(1222);

▌params和query有什麼差別?

  • params:用在讀取網址路徑所用。
  • query:常用在當在搜索一個大資料內容的細部資料(例如撈10筆資料、五個關鍵字、價格在100元以上的產品)

沒有留言:

張貼留言