curd增删改查的使用

:warning: linux服务器端口号的问题

netstat -anp|grep 8080

基于文件的增删改查

  • 基于fs读取json数据文件

  • 使用express-art-template模板引擎,发送模板页面和填充模板数据

  • 将json文件字符串解析成json格式

var app=express() //init server
app.engine('html', require('express-art-template')) 
app.set('views','/var/www/html/node/express_demo/public/');

app.get("/",function(req,rep){ //request root url
    /*rep.send("hello express")*/ //response the client
    /*rep.send("中文 is ok!")*/ //response the client with chinese
    fs.readFile("./data/test.json",function(err,data){
        if(err){
            rep.status(500).send("server error")
            console.log("读取文件失败");
            return
        }
        rep.render("index.html",{
        category:JSON.parse(data.toString()).category,
        tiem:JSON.parse(data.toString()).time,
        individual:JSON.parse(data.toString()).individual
    })
    });
})
  • 使用art-template填充语法,对模板文件进行填充

  • 基于API对数据进行操作

    将对学生数据进行操作的代码进行封装,由于涉及到文件的异步操作,这里也使用到了回调函数获取异步读取文件的数据

    读取操作

通过调用回掉函数获取,文件数据

  • 添加操作

    • 涉及文件的读取与写入操作

    • JSON数据的整理

    • 回调函数的处理

  • API调用接口,使用body-parser获取post数据

  • 更新操作

    • 基于GET对单个数据进行查询操作

    • 单个数据的渲染操作

    • 基于POST对数据进行更新

    • 跳转到编辑页面后,进行POST请求更新页面

      POST请求只需传递POST表单给服务器,错误则响应错误,否则进行重定向

      在数据更新的时候由于POST表单有些键值是以字符串方式进行存储的与文件中存储的类型可能会有冲突,需要将变量类型进行一定的转换

      查询单个信息的时候,由于设计到选择框的情况需要使用到art-template模板中的判断

      :warning:并且的判断后面只能跟0或1

  • 删除操作

    基于get请求,进行删除,请求前页面已经被渲染好,带上了每个id的信息

    关于删除的函数只需要页面传递id进行删除,返回错误或者进行重定向

    主要使用到两个函数

    • findIndex函数用于获取数组中要删除的数组下标

    • splice用于删除数组下标中对应的数据,第二个参数删除的步长

最后的效果就在这张图片上了

之前的对数据库的增删改查都只能将某一个字段给写死了进行查询

​ 为了能够让封装好的函数能够尽可能的自由使用某一个表头进行查询, 对findOne函数进行了进一步的封装

查询条件是一个json对象,只需要在函数中传递json的key值即可

原版的封装函数感觉弱鸡了一些

Last updated

Was this helpful?