var express = require('express');引入express框架
var router = express.Router();引入router路由级中间件
var data = require("../data");引入data文件
var url = require("url");引入url模块
var fs = require('fs');引入fs模块
var qs = require("querystring");查询字符串
/* GET home page. */
 
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});
 
router.get("/data",(req,res)=>{
    res.json(data);
})
 
增加
router.get("/add*",(req,res)=>{
    var obj = url.parse(req.url,true);拆分字符串
    data.list.push(obj.query.item);
    fs.writeFileSync("./data.json",JSON.stringify(data));
    res.redirect("/"); 重定向
})
 
删除
router.get("/del/:id",(req,res)=>{
    data.list.splice(req.params.id,1);
    fs.writeFileSync("./data.json",JSON.stringify(data));
    res.redirect("/"); 重定向
})
 
修改
router.get("/modify/:id",(req,res)=>{
    var id = req.params.id;
    var xm = data.list[id];
    res.redirect("/modify.html?"+qs.stringify({id:id,xm:xm})) 重定向
})
router.get("/modifyok*",(req,res)=>{
    var obj=url.parse(req.url,true);
    data.list[obj.query.id]=obj.query.xm;
    fs.writeFileSync("./data.json",JSON.stringify(data));
    res.redirect("/"); 重定向
})
 
查询
router.get("/query/:kw?",(req,res)=>{
    var list = data.list.filter((item)=>{
        return item.includes(req.params.kw);
    })
    res.render("query",{
        list:list
    })
})
 
module.exports = router;

express有中间件的增删改查的更多相关文章

  1. express无中间件的增删改查

    index.js const express = require("express");导入express框架 const data = require("./data& ...

  2. webpack4+express+mongodb+vue 实现增删改查

    在讲解之前,我们先来看看效果如下所示: 1)整个页面的效果如下: 2) 新增数据效果如下: 3) 新增成功如下: 4) 编辑数据效果如下: 5) 编辑成功效果如下: 6) 删除数据效果如下: 7) 删 ...

  3. Node+Express+MySql实现简单增删改查和登录

    var express = require('express'); var mysql = require('mysql'); var app = express(); var bodyParser ...

  4. node+express实现简单的增删改查

    var express = require('express'); var bodyParser = require("body-parser"); var cors = requ ...

  5. express 对数据库数据增删改查

    接着 http://www.cnblogs.com/cynthia-wuqian/p/6560548.html (1)概念 Schema(属性) :一种以文件形式存储的数 据库模型骨架,不具备数据库的 ...

  6. nodejs+express+mysql 增删改查(二)

    1.最早一篇关于express框架简单的增删改查文章,http://www.cnblogs.com/zhengyeye/p/nodejs.html#3947308:意外走红博客园,无奈自己之前一直没有 ...

  7. 使用nodejs连接mysql数据库实现增删改查

      首先要有数据库 使用xampp 或者 phpstudy 可以傻瓜式安装 新建一个项目文件夹 之后在这个目录下初始化package.json (npm init) 先在项目中安装mysql 和 ex ...

  8. vue+express+mongodb 实现 增删改查

    一.创建一个vue项目 用脚手架vue-cli搭建一个项目,数据请求用axios方式,写几个按钮用来调接口(vue这块不做多解释,不懂的可以先去官网学习vue-cli:https://cli.vuej ...

  9. Node.js、express、mongodb 入门(基于easyui datagrid增删改查)

    前言 从在本机(win8.1)环境安装相关环境到做完这个demo大概不到两周时间,刚开始只是在本机安装环境并没有敲个Demo,从周末开始断断续续的想写一个,按照惯性思维就写一个增删改查吧,一方面是体验 ...

随机推荐

  1. 【转】WinForm基础

    winform基础 先修基础:C#语法基础和面向对象编程 1.Winform创建解决方案 2.Winform窗体 3.MessageBOx 4.Winform登录.控制软件只运行一次.回车登录 5.W ...

  2. / is not a valid selector

  3. PHP webservice初探

    背景:在最近的开发中,为了解决公司内部系统与外部系统的对接,开始接触到了webservice接口,外部公司提供接口供我们调用,已达到数据同步的目的,因此有必要普及一下web service的知识了! ...

  4. MySQL Disk--SSD磁盘性能抖动问题

    ============================================================= SSD性能 空盘性能:SSD出厂时磁盘没有任何数据情况下的性能 稳态性能:当 ...

  5. C# 中的应用配置

    配置功能是软件必要的功能,下面介绍以下 Glacier 内置的配置框架,Glacier 支持三种方式的配置: appSettings 配置 嵌入的 HOCON 配置 独立的 HOCON 配置 优先级: ...

  6. 【转】每天一个linux命令(56):netstat命令

    原文网址:http://www.cnblogs.com/peida/archive/2013/03/08/2949194.html netstat命令用于显示与IP.TCP.UDP和ICMP协议相关的 ...

  7. Lock 和 synchronized 的区别

    Lock 和 synchronized 的区别 Lock是一个接口,而synchronized是Java中的关键字,synchronized是内置的语言实现: synchronized在发生异常时,会 ...

  8. HBase的Scan

    HBase的Scan和Get不同,前者获取数据是串行,后者则是并行:是不是有种大跌眼镜的感觉? Scan有四种模式:scan,(Table)snapScan,(Table)scanMR,snapsho ...

  9. golang defer的使用

    defer一般用于在函数结束时执行必要的处理工作.例如,关闭文件描述符,关闭网络连接等等. 函数中可以定义多个defer,执行的时候按照先进后出的顺序. defer定义的语句,即使遇到panic,也会 ...

  10. 零基础学习hadoop开发所必须具体的三个基础知识

    大数据hadoop无疑是当前互联网领域受关注热度最高的词之一,大数据技术的应用正在潜移默化中对我们的生活和工作产生巨大的改变.这种改变给我们的感觉是“水到渠成”,更为让人惊叹的是大数据已经仅仅是互联网 ...