利用express做留言板练习

引用模板:app.engine(‘html’,require(‘express-art-template’));
模板替换:app.get(’/’,function(req,res){
---------------- res.render(‘index.html’,{
--------------------------------- mess:json})})
注意:如果我们要使用bootstrap,这个node_modules文件夹对外不公开,要 给他一个权限,要手动开放
app.use(’/node_modules’,express.static(’./node_modules/’));
用post方式请求:不会把url地址都拼浏览器上
抓取数据: var bodyParser = require(‘body-parser’);
--------------- app.use(bodyParser.urlencoded({ extended: false }));
--------------- app.use(bodyParser.json());

var express=require('express');
var app=express();
var json=[
    {
        name:"zhangsan1",
        content:'哈哈哈',
        timer:'2020-12-12 12:12:12'
    },
    {
        name:"zhangsan2",
        content:'呵呵呵',
        timer:'2020-12-12 12:12:12'
    },
    {
        name:"zhangsan3",
        content:'hiahia',
        timer:'2020-12-12 12:12:12'
    },
    {
        name:"zhangsan4",
        content:'嘻嘻嘻',
        timer:'2020-12-12 12:12:12'
    },
];
app.use('/node_modules',express.static('./node_modules/'));
app.engine('html',require('express-art-template'));//模板后缀名是啥类型文件   请求模板
app.get("/",function(req,res){
    res.render("index.html",{   //直接把当前页面显示出去
        mess:json
    })
})
app.get("/post",function(req,res){
    res.render('post.html');
})
var bodyParser = require('body-parser');

// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }));
// parse application/json
app.use(bodyParser.json());

app.post('/post',function(req,res){
    var data=req.body;
    //console.log(data);//发送的新的数据 对象形式
    data.timer=new Date().toLocaleString();
    json.unshift(data);
    res.redirect("/");  //重定向
})
app.listen(3000,function(){
    console.log("running...");  //注意:因为express里面用模板引擎会默认到当前根目录下找一个叫views的文件夹
    
})                              //所以模板都要放在views文件夹里
<ul class="list-group">
     {{each mess}}
     <li class="list-group-item">{{$value.name}}{{$value.content}} <span class="pull-right">{{$value.timer}}</span></li>
     {{/each}}
<div class="header container">
    <div class="page-header">
      <h1><a href="/">首页</a> <small>发表评论</small></h1>
    </div>
  </div>
  <div class="comments container">
    <form action="/post" method="post">
      <div class="form-group">
        <label for="input_name">你的大名</label>
        <input type="text" class="form-control" required minlength="2" maxlength="10" id="input_name" name="name" placeholder="请写入你的姓名">
      </div>
      <div class="form-group">
        <label for="textarea_message">留言内容</label>
        <textarea class="form-control" name="content" id="textarea_message" cols="30" rows="10" required minlength="5" maxlength="20"></textarea>
      </div>
      <button type="submit" class="btn btn-default">发表</button>
    </form>
  </div>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值