node之blog实战17(博客分类的渲染+修改+删除+bootstrap模态框+ajax异步更新)
(1)分类渲染
后台博客分类列表的渲染
注意:_id在数据库存储时为字符串对象,MongoDB默认使用_id字段作为主键,类型为ObjectId。ObjectId的生成有一定的,规则取出来后需要通过toString()转为字符串
如果不转换从数据库取出的_id字符类型,则如下所示
会直接按照字符串对象取出
(2)接下来做下修改和删除功能
验证如下
接下来编写路由部分。因为我们想要提高用户体验,所以这里就不做跳页了,直接用模态框处理,修改代码如下
然后添加两个对应的模态框
重要事情说3遍
(3)保存编辑(更新表单时,必须用到隐藏域、必须用到隐藏域、必须用到隐藏域)
注意:这里因为改变了分类名,所以查询数据库时,需要传该文档的id,所以这里需要用到隐藏域。
首先进行简单验证
然后进行数据库对比
接着更新,根据id更新
语法:
var User = require('./user.js'); // 更新数据 function update() { // 更新数据的条件查询 var id = '5b3a4941ca11752732fee772'; // 执行更新数据 var updatestr = {'password': 'vvvvv'}; User.findByIdAndUpdate(id, updatestr, function(err, res) { if (err) { console.log(err); } else { console.log(res); } }); } // 调用更新函数 update();
测试如下:
将其修改为CSS嘻嘻哈哈
更新成功后设置1s后自动关闭模态框
$("#myModal").modal(hide)
(4)删除功能
这里为了客户体验,我们同样使用bootstrap的模态框,结合ajax做异步处理
效果如下
之后模态框自动关闭,表格元素自动移除
.