Node的express框架接受获取get/post请求参数

197 阅读1分钟

GET类型

1. 参数是url的一部分(形如/api/index/123)

app.get('/nodeServer/dataSet/page/:name/:pageNum/:pageSize', function(request, resopnse){
   // 获取参数name , pageNum, pageisze
  let name = request.params.name; 
   let pageNum = request.params.pageNum;
   let pageisze = request.params.pageisze;
});

2. 参数以url?key=value的形式

app.get('/nodeServer/dataSet/page?name=name1&pageNum=3&pageSize=10', function(request, resopnse){
   // 获取参数name , pageNum, pageisze
  let name = request.query.name; 
   let pageNum = request.query.pageNum;
   let pageisze = request.query.pageisze;
});

总结:

request.params 与 requset.query的 区别:

req.params包含路由参数(在URL的路径部分),而req.query包含URL的查询参数(在URL的?后的参数)

 

POST类型

ajax的Content-type属性决定的post请求参数传递方式:

1. 前端参数以Request Payload形式传递,参数需要拼接成url字符串

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

app.post('/nodeServer/get/dataSet', function(request, resopnse){
   // 获取参数name , pageNum, pageisze

 let data = '';
 request.on('data', function (chunk) {
   data += chunk;
 });
 request.on('end', function () {
   let params = JSON.parse(data);
   let name = params.name;
   let pageNum = params.pageNum;
   let pageSize = paramas.pageSize;
 });

2.  前端参数以Form Data 形式传递

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

此时Content-type=application/json,ajax请求方式有:$ajax, 原生form表单

app.post('/nodeServer/get/dataSet', function(request, resopnse){
   // 获取参数name , pageNum, pageisze
 let params = request.body;
 let name = params.name;
 let pageNum = params.pageNum;
 let pageSize = paramas.pageSize;
});

 

 

⚠️注:原文链接:www.cnblogs.com/dadouF4/p/1…