14.node 实现简单的增删改查思路
基本步骤
1. 创建目录结构
2. 创建基本服务器
- npm初始化
- 安装express
- 安装模板引擎
3. 创建前端页面
- 安装bootstrap
(1)下载(2)配置响应node_modules文件夹
- 使用路由渲染html页面
4.创建数据库列表,模拟数据库数据
- 创建json文件
- 通过模板引擎将文件数据渲染到html页面
- 通过fs模块将json文件读取出来
- 解析字符串为对象并存储
5.路由设计并创建路由
| 请求方法 | 请求路径 | get参数 | post参数 | 备注 |
|---|---|---|---|---|
| get | / | 主页 | ||
| get | /add | 渲染新增页面 | ||
| post | /add | name,tel,state,cttime | 新增处理 | |
| get | /edit | id | 渲染编辑页面 | |
| post | /edit | id,name,tel,state,cttime | 编辑处理 | |
| get | /delete | id | 删除处理 |
渲染页面使用get,处理页面使用post
6.post与get基本处理
- form表单设置action,methods(post方法)
- 查看数据:提交查看响应体数据
- 获取提交数据:使用bodyParser中间体获取视图提交的数据
- 字符串处理
添加思想:将数据提交到文件,(文件是字符串)
读取文件->将文件转换为对象->在对象中添加数据(push)->添加后将对象转化为字符串->将字符串写入文件
7.设置操作文件模式的api (创建专门处理数据库json文件的api)
此处文件指的是数据库的json数据,由于json文件已经读取过一次,当使用其他路由时,又需要读取路由,这就增加了代码的耦合,此时需要专门创建一个js文件,来处理针对json文件的 增删改查
回调函数理解
什么是异步?异步没有阻塞接下来程序的运行,同步会阻塞程序运行。alert是同步,setTimeout是异步
回调函数?如果需要获取一个函数中异步操作的结果,则必须通过回调函数(callback)来获取
关于异步的文章
https://www.cnblogs.com/learninpro/p/9166356.html
https://www.cnblogs.com/learninpro/p/9271813.html
1.json文件中查询(获取列表)
思想:将数据渲染到页面
2.处理添加
添加思想:将数据提交到文件,(文件是字符串)
步骤:读取文件->将文件转换为对象->在对象中添加数据(push)->添加后将对象转化为字符串->将字符串写入文件
注意:在回调函数中直接传入表单提交的对象参数,用于在json中文件添加操作
处理id,由于id值具有唯一性和自增性,故每次增加数据时,只需要找到原始对象中的最后一个id,增加时给id加1
newstudents.id = studentList[studentList.length-1].id+1
3.处理更新
通过id获取到对应的列表内容->读取json文件并转化为对象->将列表内容添加到json对象->将json对象转化为字符串->将字符串写入文件
1)find方法找到要编辑的id对应列;2)遍历拷贝对象
视图层处理:1)再客户端页面中处理链接问题(需要有id参数)2)获取要编辑的id 3)渲染编辑页面
注意点: req.body,req.query,find方法,遍历拷贝对象方法,parseInt/Number转化为数字
4.处理删除
思路:通过id获取到对应的列表内容->读取文件转对象->在对象中找到要删除的id->通过数组删除方法删除对应id列->将json对象转化为字符串->将字符串写入文件
视图层处理:1)删除按钮添加id


浙公网安备 33010602011771号