发布网友 发布时间:2022-04-23 07:42
共1个回答
热心网友 时间:2022-06-17 20:50
//html代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
正在热聊中:<br/>
<ul>
{{each msgs}}
<li>{{$value.nickname}}:{{$value.msg}}</li>
{{/each}}
</ul>
<form method='post' action='/sendMsg'>
昵称:<input type='text' name='nickname'><br/>
您说:<input type='text' name='msg'>
<input type='submit' name='' value='发送'>
</form>
</body>
</html>
//这是app.js的代码
'use strict';
const express = require('express');
const app = express();
const router = express.Router();
const bodyParser = require('body-parser');
//消息列表
let msgs = [{
nickname:'pxzj.cn',msg:'pxzj一个神奇的网站'
},{
nickname:'淘宝',msg:'我才是中国互联网老大'
}];
//注册一个引擎html后缀的处理
app.engine('html',require('express-art-template'));
//给art-template设置 debug:true
app.set('view options',{
debug:true
});
router.get('/',(req,res)=>{
res.render('index.html',{
msgs:msgs //可以简写 msgs
});//找views目录
})
.post('/sendMsg',(req,res)=>{
//接收数据
let formObj = req.body;
let nickname = formObj.nickname;
let msg = formObj.msg;
//加入到数组中
msgs.push({
nickname,msg
});
//响应首页
res.render('index.html',{
msgs:msgs
});
})
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }));
// parse application/json
app.use(bodyParser.json());
//以上两个中间件为的是先挂载属性,再执行router路由req.body
app.use(router);
app.listen(8888);