浅谈Express.js解析文章数据类型的正确姿势

  

  

<代码> 1,帖子请求: HTTP/1.1 协议规定的HTTP代码 <代码>请求方法有<代码>选项,,,,,删除、跟踪,连接> 后一般用来向服务端提交数据。

  

2, <代码> - type> 是指<代码> http/https> - type> 后请求的<代码> - type>   

      <李>应用程序/x-www-form-urlencoded李   <李>多部分/格式李   <李> application/json李   <李> text/xml   
  

3 <代码>表达。js代码: <代码> 是表达一个保持最小规模的灵活的<代码>节点。js Web> 网络>   

本文我们主要介绍<代码> 后请求的4种<代码> - type> 来表达对每种<代码> - type> github, github> 欢迎明星。

  

<强>

  

<强> 1,应用程序/x-www-form-unlencoded

  

最常见的<代码> 后提交数据的方式,浏览器的原生<代码> 表形式单,如果不设置<代码> enctype 属性,那么最终就会默认以<代码>应用程序/x-www-form-urlencoded 方式提交数据。

  

1.1,前端请求代码

        var reqParam=" name=杰克”;   xhr。setRequestHeader(“内容类型”、“应用程序/x-www-form-urlencoded”);   xhr.send (reqParam);      

1.2,服务端解析代码

        app.post ('/urlencoded ', bodyParser.urlencoded({扩展:真})、功能(要求,res) {   var={结果   名称:req.body.name,   性别:男,   年龄:15   };   res.send(结果);   });      

1.3,浏览器请求/响应截图

  

请求:   

浅谈Express.js解析文章数据类型的正确姿势

  

响应:   

浅谈Express.js解析文章数据类型的正确姿势

  

<强> 2,多部分/格式

  

使用表单上传文件时,必须指定表单的<代码> enctype 属性值为<代码>多部分/格式> ——边界分割开始,紧接着内容描述信息,最后是字段具体内容(文本或二进制),如果传输的是文件,还要包含文件名和文件类型信息;

  

2.1,前端请求代码

        var reqParam=new FormData (document.form2);   xhr.send (reqParam);      

2.2,服务端解析代码

  

<代码> 表达提供了两种插件<代码>的和<代码>多党> 多部分/格式>   

2.2.1,强大的插件

  

(1)安装插件

        npm安装强大——保存      

(2)服务端解析处理

        app.post (/formData1,函数(点播,res) {   var=new formidable.IncomingForm形式();   的形式。uploadDir="上传/?   的形式。解析函数的要求,(呃,字段,文件){   var obj={};   种(字段)。forEach(函数(名字){   obj[名字]=[名字]字段;   });   种(文件)。forEach(函数(名字){   如果文件(名称),,文件[名字]. name) {   obj文件[名字]=[名字];   fs.renameSync(文件[名字]。路径,形式。uploadDir +文件[名字]. name);   }   });   res.send (obj);   });   });      2.2.2

,多党制插件

  

(1)安装插件

        npm安装多党——保存      

(2)服务端解析处理

        app.post (/formData2,函数(点播,res) {//解析一个文件上传   var=new multiparty.Form形式();//设置编辑   的形式。编码=皍tf - 8”;//设置文件存储路径   的形式。uploadDir="上传/?//设置单文件大小限制   的形式。maxFilesSize=2000 * 1024 * 1024;   的形式。解析函数的要求,(呃,字段,文件){   var obj={};   种(字段)。forEach(函数(名字){   obj[名字]=[名字]字段;   });   种(文件)。forEach(函数(名字){   如果文件(名称),,文件[名字][0],,文件[名字][0].originalFilename) {   obj文件[名字]=[名字];   fs.renameSync(文件[名字][0]。路径,形式。uploadDir +文件[名字][0].originalFilename);   }   });   res.send (obj);   });   });

浅谈Express.js解析文章数据类型的正确姿势