node的express框架接收get/post請求時,參數獲取方式


一.獲取get請求參數

情況一:參數是url的一部分:

1 eg:router.get('/nodeServer/dataSet/page/:name/:pageNum/:pageSize', function(request, resopnse){
2    // 獲取參數name , pageNum, pageisze
3   let name = request.params.name; 
5    let pageNum = request.params.pageNum;
7    let pageisze = request.params.pageisze;
8 });

情況二:參數以url?param=value的形式傳遞:

1 eg:router.get('/nodeServer/dataSet/page?name=name1&pageNum=3&pageSize=10', function(request, resopnse){
2    // 獲取參數name , pageNum, pageisze
3   let name = request.query.name; 
5    let pageNum = request.query.pageNum;
7    let pageisze = request.query.pageisze;
8 });

 

總結:request.params 與 requset.query的 區別:

    req.params包含路由參數(在URL的路徑部分),而req.query包含URL的查詢參數(在URL的?后的參數)

二.獲取post請求參數

ajax的Content-type屬性決定的post請求參數傳遞方式:

情況一:前端參數以Request Payload形式傳遞,參數需要拼接成url字符串 

此時Content-type=text/plain;charset=UTF-8,ajax請求方式有:axios.post, 原生ajax的post

 1 eg:router.post('/nodeServer/get/dataSet', function(request, resopnse){
 2    // 獲取參數name , pageNum, pageisze
 3 
 4  let data = '';
 5  request.on('data', function (chunk) {
 6    data += chunk;
 8  });
 9  request.on('end', function () {
10    let params = JSON.parse(data);
11    let name = params.name;
13    let pageNum = params.pageNum;
15    let pageSize = paramas.pageSize;
17  });

情況二: 前端參數以Form Data 形式傳遞

此時Content-type=application/x-www-form-urlencoded,ajax請求方式有:$post,

此時Content-type=application/json,ajax請求方式有:$ajax, 原生form表單

 1 eg:router.post('/nodeServer/get/dataSet', function(request, resopnse){
 2    // 獲取參數name , pageNum, pageisze
 3  let params = request.body;
 5  let name = params.name;
 7  let pageNum = params.pageNum;
 9  let pageSize = paramas.pageSize;
11 });

 


免責聲明!

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



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