Node+Vue实现对数据的增删改查
这是一个用于学生签到的小例子。主要用到的技术有node和Vue:用node搭建小型服务器,配置好路由,前端用vue写好组件,数据库采用的是mysql。 文件结构如下:
主要是功能是对数据的增删改查。由于本人当时对es6语法还不太会,所以刚开始时在从数据库里查数据那一块出了点问题,因为从数据查询数据是异步操作,后来通过从网上找了很多资料,发现用promise可以很好的解决异步问题。
下面是router.js文件里的内容,这是后台配置路由的代码,主要是将对数据的增删改查
const express = require("express");
//定义路由级中间件
const router = express.Router();
//引入数据库连接池,防止数据库超过最大连接数
const query = require("./db");
/*
* 增删改查服务路由
* */
/*新增*/
router.use('/add', function(req, res) {
let userInfo = JSON.parse(req.body.data);
let querysql = "SELECT * FROM userinfo where userName='" + userInfo.userName + "'";
new Promise(function(resolve, reject) {query(querysql, null, function(err, rows, fields) {if(err) {res.json({ok: false,message: '添加失败!查询',error: err})} else {if(rows.length > 0) {res.json({ok: false,message: '添加失败,该用户已经注册了',error: err})} else {let addSql = 'INSERT INTO userinfo(userName,major,school,telephone,onlineApply,time,address) VALUES(?,?,?,?,?,?,?)';let sqlParams = [userInfo.userName, userInfo.major, userInfo.school, userInfo.telephone, userInfo.onlineApply, userInfo.time, userInfo.address];console.log(userInfo);query(addSql, sqlParams, function(err, result) {console.log(result);console.log(err);if(err) {res.json({ok: false,message: '添加失败!'})} else {res.json({ok: true,id: result.insertId,message: '添加成功!'})}res.end();})}}})
})
});
/*删除*/
router.use('/delete', function(req, res) {let userInfo = JSON.parse(req.body.data);let delSql = 'DELETE FROM userinfo where id=' + userInfo.id;query(delSql, null, function(err, rows, fields) {if(err) {res.json({ok: false,message: '删除失败!',error: err})} else {res.json({ok: true,message: '删除成功!'})}res.end();})
});
/*编辑*/
router.use('/edit', function(req, res) {let userInfo = JSON.parse(req.body.data);console.log(userInfo);let editSql = 'UPDATE userinfo SET userName=?,major=?,school=?,telephone=?,onlineApply=?,time=?WHERE id =' + userInfo.id;let editSqlParams = [userInfo.userName,userInfo.major,userInfo.school,userInfo.telephone,userInfo.onlineApply,userInfo.time];query(editSql, editSqlParams, function(err, result) {if(err) {res.json({ok: false,message: '修改失败!'})} else {res.json({ok: true,message: '修改成功!'})}res.end();})
});
/*查询*/
router.use('/query', function(req, res) {let start = 0;let end = 100;let address =req.body.data;let sql = "SELECT * FROM userinfo where address='"+address+"' ORDER BY Id DESC LIMIT " + start + "," + end;let countSql = "SELECT COUNT(id) FROM userinfo";const promise = new Promise(function(resolve, reject) {query(countSql, null, function(err, rows, fields) {resolve(rows);})}).then((count) => {query(sql, null, function(err, rows, fields) {if(err) {res.json({ok: false,message: '查询失败!',info: null})} else {res.json({ok: true,message: '查询成功!',info: rows,total: count[0]["COUNT(id)"]})}res.end();});})
});
/*将路由模块输出*/
module.exports = router;
复制代码
下面是连接数据库的文件(db.js)中的代码
const mysql = require("mysql");
//连接上数据库(连接池)
const pool = mysql.createPool({host : 'localhost',user : 'root',password : '123456',database:'attendance'
});
/*封装数据库操作方法query--用于增删改查*/
const query=function(sql,sqlParams,callback){pool.getConnection(function(err,conn){if(err){callback(err,null,null);}else{conn.query(sql,sqlParams,function(qerr,vals,fields){//释放连接conn.release();//事件驱动回调callback(qerr,vals,fields);});}});
};
/*模块输出*/
module.exports=query;
复制代码
还有一点需要注意的是因为前后端运行起来时端口不一致,所以存在跨域的问题。因为我们自己在做一些小项目时,处于开发环境,所以直接在前端配置文件中配置代理就可以解决跨域问题,如果是生产环境就需要使用nginx代理跨域了。配置如下所示,3000是node服务器启动后的端口号。
原码地址: github.com/tangjie-93/…
Node+Vue实现对数据的增删改查相关推荐
- vue实现对数据的增删改查(CURD)
vue实现对数据的增删改查(CURD) 导语: 网上看到一个写的比较好的学习文章,转载分享一下 在管理员的一些后台页面里,个人中心里的数据列表里,都会有对这些数据进行增删改查的操作.比如在管理员后台的 ...
- vue+element-ui实现数据的增删改查及分页
1.首先获取所有的学生信息并显示在表格上,进行分页 后台要求传的参数: 后台接口封装: element-ui创建数据.必须有HTML表格 <el-table :data="studen ...
- vue访问php时做增删改查,node连接mysql生成接口,vue通过接口实现数据的增删改查(一)...
武汉加油遇新是直朋能到分览支体调!中国加油! 想必许多干用是处框它观有理近货框万理架是察放是近学vue的小伙伴想连接数据库,对数据进行增删改查吧,奈何不知道怎么实现.作为一路踩坑的我,为大家带来我的一 ...
- vue修改数据连接数据库_vue实现数据的增删改查
在管理员的一些后台页面里,个人中心里的数据列表里,都会有对这些数据进行增删改查的操作.比如在管理员后台的用户列表里,我们可以录入新用户的信息,也可以对既有的用户信息进行修改.在vue中,我们更应该专注 ...
- Vue+ElementUI纯前端技术实现对表格数据的增删改查
Vue+ElementUI纯前端技术实现对表格数据的增删改查 页面展示效果 一.页面结构 分为三个部分 head body 以及script 一般我个人是在head中引入一些组件库 , 还有一些样式 ...
- 从零开始的VUE项目-03(数据的增删改查)
代码svn地址 (用户名:liu,密码;123) 这一篇中,我们要实现的基本就是这么个东西 这个页面就是我们创建的DataManagement.vue页面,我们的主要代码将写在这里面,这个表格我们将用 ...
- node ajax crud,基于node.js和rethinkdb的CRUD(增删改查)Web服务
基于node.js和rethinkdb的CRUD(增删改查)Web服务 这是一个简单的REST web服务演示案例源码,使用Node.JS和Express 和RethinkDB,后者持久化JSON数据 ...
- node.js+express实现简单的增删改查
主要用node.js和express实现数据的增删改查 一:安装包 需要的包如图所示: "dependencies": {"art-template": &qu ...
- D2Admin自制数据的增删改查
前言 想在D2Admin中进行数据的增删改查,可以直接使用它本身的,但是如果想做增加和修改中调用其他数据库里的内容,那就要重新自己来写相应的按钮和按钮效果. 内容 template <el-bu ...
最新文章
- 玩转ECS第6讲 | 弹性计算Region化部署和跨可用区容灾介绍
- 基于sentry的前端错误监控日志系统(部署sentry服务器/前端项目部署)-让前端最快的定位到生产问题...
- demo 网络运维_网络运维简介
- win8计算机安全模式,安全模式,详细教您Win8怎么进入安全模式
- Mschart应用。
- 一文详解 NanoHttpd 微型服务器原理
- html做新浪体育,新浪体育台看不了怎么办?新浪体育台网页版加载失败的解决方法介绍...
- 初级电工技术实训考核装置
- 15b万用表怎么测电容_万用表怎么用?福禄克15B+一机详解万用表的使用方法
- Filter过滤器:使用过滤器保护指定资源,只有登录用户才能访问。若访问内容时用户没有登录则跳转到登录页面。
- 怎么把计算机管理的磁盘找出来,电脑分区显示不出来怎么办
- 攻防世界 Web高手进阶区 mfw
- 使用Proxmox 和 Deskpool 搭建桌面云系统
- bag of tricks for image classification with convolutional neural networks
- 【Python+OpenCV+sklearn+easygui】人脸(口罩)识别+口罩下人脸补全的系统设计
- 莫队算法 ( MO's algorithm )
- vue2 ElementUI 表单标签、表格表头添加问号图标提示
- python中valueerror是什么意思_python-ValueError:不安全的字符串pi
- gbase 8d客户端配置文件
- linux at24c 前几个字节错误,I2C操作笔记——以 AT24C04为例