1.数据:GET、POST

2.中间件:使用、写、链式操作

  • GET-无需中间件

    req.query

  • POST-需要"body-parser"

server.use(bodyParser.urlencoded({}));

server.use(function (){
req.body
});
  • 链式操作:

1.1.GET、POST

利用 req.query

  server.use(bodyParser.urlencoded({extended:false/true,limit: }));  //limit限制 大小
server.use(function (req, res, next){
req.body
});

疑问:bodyParser.urlencoded 中设置 extended 为 true 和为 false 有什么区别吗?

当extended为false的时候,键值对中的值就为'String'或'Array'形式,为true的时候,则可为任何数据类型。

2.1.链式操作

  server.use(function (req, res, next){});
server.get('/', function (req, res, next){});
server.post(function (req, res, next){});

next——下一个步骤

next();

  server.use('/login', function (){
mysql.query(function (){
if(有错)
res.emit('error');
else
next();
});
});

2.2 中间件(body-parser)、自己写中间件

有个 next(); 参数

 server.use(function (req, res, next){
var str='';
req.on('data', function (data){
str+=data;
});
req.on('end', function (){
req.body=querystring.parse(str);
next();
});
});

自己写的中间件实例:

module模块:

import { request } from 'https';
import { read } from 'fs'; // 自己写的中间件
const querystring=require('querystring'); module.exports={
aaa: function (){
return function (req, res, next){
var str='';
req.on('data', function (data){
str+=data;
});
req.on('end', function (){
req.body=querystring.parse(str); next();
});
};
}
}

js文件:

const express = require('express');
const bodyParser2 = require(' //改成你自己的路径 '); var server = express();
server.listen(8080) // 用自己的中间件
server.use(bodyParser2.aaa()); server.use('/',function(req,res){
console.log(req.body);
})

最新文章

  1. 关于“线程间操作无效: 从不是创建控件’textBox1‘的线程访问它”异常的解决方法
  2. BizTalk开发系列(三十四) Xpath
  3. [HTML5] document.hidden
  4. pthread_cond_wait避免线程空转
  5. 如何通过热修复,搞定开发中的那些 Bug?
  6. string与char* 互相转换以及周边问题
  7. 简单DOS命令实现局域网Windows远程关机
  8. java显示本地磁盘所有盘符,显示桌面路径
  9. begin 2~~~
  10. awk 用法小结
  11. Modelbuilder快速入门
  12. 将Excel上千条数据写入到数据库中
  13. Asp.Net WebApi Swagger终极搭建
  14. 关于charles抓不到js文件的问题
  15. RANSAC
  16. 函数式编程之-Currying
  17. ubuntu 14.04 lts安装教程:u盘安装ubuntu 14.04 lts步骤
  18. Java命令使用 jmap,jps,jstack,jstat,jhat,jinfo
  19. 小程序中bindtap绑定函数,函数参数event对数据的处理
  20. 【PAT】1010. 一元多项式求导 (25)

热门文章

  1. MySQL常用的查询命令
  2. python 全栈开发,Day4(正式)
  3. spring cloud 专题一 (spring cloud 入门搭建 之 Eureka注册中心搭建)
  4. Spring Boot 定时任务的使用
  5. shell之九九乘法表
  6. 关于Unity中如何代码动态修改天空盒
  7. Linux下的指令:find,which
  8. java调用kettle的job和transfer工具类
  9. JAVA多线程中start方法与run方法区别
  10. 第二次作业评分可能要 delay 一些