美文网首页
06_node.js下的express中的post

06_node.js下的express中的post

作者: pzmpzm | 来源:发表于2017-12-02 14:49 被阅读0次

    express中的post

    我们一般使用  body-parser  第三方 模块  来获取到post提交的数据

    (不能上传图片)

    1、首先我们应该安装

    npm install body-parser --save;

    2、再引入

    var bodyParser = require("body-parser");

    3、配置中间件

    app.user(bodyParser.urlencoded({ extended:false;}))

    app.use(bodyParser.json())

    4、最后使用req.body  可以获取到数据如

    { username: '111', age: '11', classname: '111', sex: '1' }

    这些数据都是在  form表单中用 method="post" 传出

    同时  input 中必须 设置  name=""  name里面的值就是 获取的对象中的属性名 username

    如  name="names"  = > {names:111}

    name="usernames"  = > {usernames:111}

    如注册的实现

    var data = req.body;

    我们可以用post提交数据,然后连接数据 再用

    bd.collection("vip"). insertOne(data,function(err){})  把post的数据提交到数据之中

    或者是 用户发布活动 同样的插入数据库方法 ,我们可以再根据查询所有数据的数据,把活动数据

    渲染在ejs页面上

    var  result = db.collection("vip").find();

    result.toArray(function(err,data){

    if(err){

    }

    然后再用 (data就是  activity表中的所有数据)格式为[{},{},{}]

    res.render("activity",{

    list:data

    })

    })

    最后我们可以在ejs上 用for循环来获取数据

    <%for(var i =0; i < list.length; i++){%>

    <%=list[i].title%>

    <%}%>

    这样就完成了一个简单 发布,显示的功能


    2、post  可以上传图片  multiparty

    //1、先安装

        npm install multiparty --save;

    //2、引入

        var multiparty  =  require("multipary");

    // 3、建立一个public 文件夹 在这里文件夹下建立 upload文件夹

    //4、 必须在你要post的form表单中加上enctype="multipart/form-data"

    //地址路由根据自己的文件布局来设置

    app.post("/addpost",function(req,res){

        var form =new multiparty.Form();

        form.uploadDir = "public/upload";

        form.parse(req,function(err,fiedls,files)){

    //图片上传用 files  其他用fiedls 自己可以console.log()打印出来看看

        varcid = fields.cid[0]; //有不同的分类时需要

        vartitle = fields.title[0];

        varcontent = fields.content[0];

        vardescription = fields.description[0];

    //var addtime = new Date();

    //用安装,引入  data-time模块 去npm.js下载

        varaddtime = dateTime({date:newDate()});

        varstatus = fields.status[0];

        varimg = files.img[0].path;

        var json = {cid,title,content,description,addtime,status,img}

    //然后可以用 insert方法  可以看DB库封装代码

    }

    })

    相关文章

      网友评论

          本文标题:06_node.js下的express中的post

          本文链接:https://www.haomeiwen.com/subject/owynbxtx.html