• express中的表单处理


      此篇文章主要介绍node框架express中表单处理相关细节,一些常识不再说

      (1)基础:表单的name属性很重要,后端代码根据这个属性获取数据

      (2)表单编码方式:一般默认:application/x-wwwform-urlencoded 

                上传文件:multipart/form-data 

      (3)后端代码处理表单请求的方式一般是重定向

      (4)express表单处理:

        ①如果使用 GET 进行表单处理,表单域在 req.query 对象中。例如,如果有一个名称属性为 email 的 HTML 输入字段,它的值会以 req.query.email 的形式传递到处理程序 

        ②如果使用 POST(推荐使用的),需要引入中间件来解析 URL 编码体。首先,安装 body-parser 中间件(npm install--savebody-parser),然后引入: 

          app.use(require('body-parser')());

          req.body变得可用

        ③ajax表单请求:

        

    //其中,req.accepts()函数是判断返回类型是html合适还是json合适
    app.post('/process', function(req, res){ if(req.xhr||req.accepts('json,html')==='json'){ res.send({success:true}); }else{ res.redirect(303, '/thank_you'); } });

         ④文件上传:需要引入中间件formidable来处理文件上传问题: npm install --save formidable

        然后进行文件处理

    app.post('/contest/photo/:year/:month', function(req, res){
        var form = new formidable.IncomingForm();
        form.parse(req, function(err, fields, files){
            if(err)
                return res.redirect(303, '/error');
            console.log('received fields:');
            console.log(fields);
            console.log('received files:');
            //files里面有上传文件的各种信息
            console.log(files);
            res.redirect(303, '/thank-you');
        });
    });

          

  • 相关阅读:
    Java异常处理
    冒泡排序法
    21个项目-MNIST机器学习入门
    Hadoop集群搭建中ssh免密登录
    利用奇异值分解简化数据
    数据集中空值替换成对应特征的平均值
    PCA降维处理
    使用FP-growth算法高效发现频繁项集
    原生js---ajax---post方法传数据
    原生js---ajax---get方法传数据
  • 原文地址:https://www.cnblogs.com/jakii/p/5136502.html
Copyright © 2020-2023  润新知