# 在/application/controllers/article.js中新增代码块
```
async mod(req, res) {
if (req.isPost) {
//提交后
var post = req.body;
var itemid = parseInt(req.query.itemid);
if (!itemid) {
res.render('msg', { code: 0, msg: '数据不存在', url: '' });
return;
}
//标题判断
var title = post.title.trim();
if (!title) {
res.render('msg', { code: 0, msg: '标题不能为空', url: '' });
return;
}
//内容判断
var content = post.content.trim();
if (!content) {
res.render('msg', { code: 0, msg: '内容不能为空', url: '' });
return;
}
//执行更新操作
let r = await model.u("update article SET ? where itemid=?", post, [itemid]);
if (r) {
res.render('msg', { code: 1, msg: '操作成功', url: '/article/index' });
} else {
res.render('msg', { code: 0, msg: '操作失败', url: '' });
}
return;
}
var itemid = parseInt(req.query.itemid);
if (!itemid) {
res.render('msg', { code: 0, msg: '数据不存在', url: '' });
return;
}
//从数据库中读取文章
let data = await model.find("SELECT * from article where itemid=?", [itemid]);
//加载模板文件
res.render(req.TPL, { data: data });
}
```
# 新建对应模板文件/application/views/article/mod.html
```
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>编辑文章</title>
</head>
<body>
<div style="text-align:center">
<h2>编辑文章 <span><a href="/article/index">返回</a></span></h2>
<form action="/article/mod?itemid=<%=data.itemid%>" method="post">
<table width="100%" border="1">
<tbody>
<tr>
<td align="right">标题</td>
<td align="left"><input type="text" name="title" id="" value="<%=data.title%>"></td>
</tr>
<tr>
<td align="right">内容</td>
<td align="left"><textarea name="content" id="" cols="30" rows="10"><%=data.content%></textarea>
</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" name="submit" value="提交"></td>
</tr>
</tbody>
</table>
</form>
</div>
</body>
</html>
```
# 显示结果
![](https://img.kancloud.cn/bc/97/bc97b4e61daa774e30c5c0911c937408_897x350.png)
- 课程介绍
- 开发环境搭建
- 安装express.js框架
- 为diy自己的web框架做准备(1)
- 为diy自己的web框架做准备(2)
- 为应用绑定域名
- 封装控制器基类base.js
- 封装数据库操作基类model.js
- curd操作-准备工作
- curd操作-文章列表
- curd操作-添加文章
- curd操作-编辑文章
- curd操作-删除文章
- model文件的使用
- 文件上传
- session实现登录
- 邮件发送
- 文件下载
- 执行子任务
- 图片缩放
- 图片裁剪
- 图片验证码
- Excel读取与写入
- 编写计划任务
- 工具函数使用实例
- websocket
- 集成ckeditor
- 微信公众号开发-1:内网穿透
- 微信公众号开发-2:自动回复
- 微信公众号开发-3:api接口调用
- 微信公众号开发-4:oauth登录
- 微信公众号开发-5:沙箱支付
- 微信公众号开发-6:真实支付
- 项目上线运行
- 项目代码下载