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. Android的界面设计工具——DroidDraw

    软件名称:DroidDraw 软件大小:489KB(Windows版本) 支持系统:Mac OS X/Windows/Linux 下载地址:http://code.google.com/p/droid ...

  2. CF1092(div3):Great Vova Wall (栈)(还不错)

    D1. Great Vova Wall (Version 1): 题意:给定长度为N的墙,以及每个位置的一些高度,现在让你用1*2的砖和2*1的砖去铺,问最后能否铺到高度一样. 思路:分析其奇偶性,在 ...

  3. [Boolan-C++学习笔记]第一周整理

    1.两种典型类 Complex 无指针 String 有指针 编写思路差异较大 2.使用Class声明:Object Based.类与类之间的关系:Object Oriented 3.头文件的布局 # ...

  4. hdu2084 数塔 DP

    数字三角形,DP裸题 #include<stdio.h> #include<string.h> #define max(a,b) (a)>(b)?a:b ][],dp[] ...

  5. CountDownLatch的简单理解

    CountDownLatch的概念 CountDownLatch是一个同步工具类,用来协调多个线程之间的同步,或者说起到线程之间的通信(而不是用作互斥的作用). CountDownLatch能够使一个 ...

  6. Struts2重新学习2之struts2和struts1的区别

    1) 在Action实现类方面的对比:Struts 1要求Action类继承一个抽象基类:Struts 1的一个具体问题是使用抽象类编程而不是接口.Struts 2 Action类可以实现一个Acti ...

  7. Linux内核中的机制学习总结

    一.驱动中的poll机制 1.简介:select()和poll()系统调用的本质一样,前者在 BSD UNIX 中引入的,后者在 System V 中引入的. 应用程序使用 select() 或 po ...

  8. MySQL--常见ALTER TABLE 操作

    ##================================## ## 修改表的存储引擎 ## SHOW TABLE STATUS LIKE 'TB_001' \G; ALTER TABLE ...

  9. 使用OASGraph 暴露rest 接口为graphql api

    OASGraph 是loopback 团队开发的方便将rest api 暴露为graphql 的工具, 这个也是loopback 4 的一个新特性类似的有些团队提出了binding 以及stitch ...

  10. c++标准库的所有类型

    标准库的组成:    前言就到此为止.从最宏观的层面上看,C++标准库由十个部分组成:语言支持.诊断.通用工具.字符串.本地化.容器.迭代器.通用算法.数值算法和I/O. 头文件组成:    C++ ...