JQuery AJAX - NODEJS - Mysql 总结
2016-04-23 14:05
696 查看
【摘要】通过JQuery AJAX 对于服务器进行动态请求和页面刷新,nodejs搭建HTTP服务,中间件 路由跳转,后台和mysql交互,mysql存储着数据。
首先我们需要搭建一个http服务,使用简单的express建站
至此 一个基本的nodejs网站及服务器就搭建好了
首先我们需要搭建一个http服务,使用简单的express建站
npm install -g express npm install express-generator -g //新建一个目录 mkdir xxx //xxx只是路径名 cd xxx express app//app名字自己定 cd app npm install
至此 一个基本的nodejs网站及服务器就搭建好了
npm install mysql -s //连接mysql和nodejs服务器 mkdir mysql //建立一个mysql的文件夹 cd mysql //
conn.js module.exports = { mysql: { host: 'localhost', user: 'root', password: '940809', database:'quantaxis', port: 3306 } };
sqlexec.js var mysql = require('mysql'); var $conf = require('./conn'); var $sql = require('./sqlmapping'); var express = require('express'); var router = express.Router(); // 使用连接池,提升性能 var pool = mysql.createPool($conf.mysql); var jsonWrite = function (res, ret) { if (typeof ret === 'undefined') { res.json({ code: '1', msg: '操作失败' }); } else { res.json(ret); } }; module.exports = { queryByName: function (req, res, next) { pool.getConnection(function (err, connection) { var name = +req.query.name; // 为了拼凑正确的sql语句,这里要转下整数 var sqlq = mysql.format($sql.ts.queryts, name); console.log('name' + name) //connection.config.queryFormat = sqlsplit.yutiansutsqlsplit (sqlq, values) ; connection.config.queryFormat = function (query, values) { if (!values) return query; return query.replace(/\:(\w+)/g, function (txt, key) { if (values.hasOwnProperty(key)) { return this.escape(values[key]); } return txt; }.bind(this)); }; console.log(sqlq) console.log(name) pool.getConnection(function (err, connection) { console.log(sqlq) connection.query(sqlq, function (err, result) { jsonWrite(res, result); connection.release(); }); }); }); }, querytable:function (req, res, next) { pool.getConnection(function (err, connection) { if (err) throw err; connection.query($sql.ts.querytable, function (err, result) { if (err) throw err; jsonWrite(res, result); connection.release(); }); }); } };
var mysql =require('mysql') module.exports = { user: { insert: "INSERT INTO user(name, password) " + " VALUES(?,?)", update: 'update user set name=?, password=? where id=?', updatename: 'update users set name=?, age=? where id=?', delete: 'delete from users where id=?', queryAll: 'SELECT * from user', login: 'SELECT * from user where name=? and password=?' }, ts: { insert: 'INSERT INTO user(video) VALUES(?,?) where name=?', update: 'update user set video=? where name=?', queryts: 'SELECT * from ?', querytable: 'SELECT * from userlist' }, profits: { queryts: 'SELECT * from ?' } };
test.jade html head script(type='text/javascript', src='http://libs.baidu.com/jquery/2.1.4/jquery.min.js') body #myDiv h2 ajax button#b01(type='button') testajax script. function changeToButton(id){ var btn = document.getElementById(id); btn.onclick= function(){ $.ajax({ url: "/ajax", //请求的url地址 dataType: "json", //返回格式为json async: true, //请求是否异步,默认为异步,这也是ajax重要特性 //data: { "data": "value" }, //参数值 type: "GET", //请求方式 beforeSend: function() { //请求前的处理 }, success: function(data,textStatus){ a49c alert('textStatus---'+textStatus) alert(JSON.stringify(data)); var append=JSON.stringify(data); $('#myDiv').prepend(append); alert(JSON.parse(append)[0].Userid) }, complete: function() { //请求完成的处理 }, error: function() { //请求出错处理 } }); } } window.onload = function() { changeToButton("b01"); }
//写好中间件路由跳转和ajax路径 var express = require('express'); var router = express.Router(); var sqlexec = require('../mysql/sqlexec.js'); router.get('/aaa', function(req, res, next) { res.render('../test', { title: 'Exs' }); }); router.get('/ajax',function(req,res,next){ console.log('Using Ajax methods'); sqlexec.querytable(req, res, next); }); module.exports = router;
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- MySQL中的integer 数据类型
- MySQL存储过程
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- JavaScript演示排序算法
- 2015-2016网页设计趋势分析 Web Design of Trends
- MySQL创建用户及权限控制
- MySQL管理数据表
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- jQuery Ajax 跨域调用
- 移动端的长按事件
- jquery教程靠边站,一分钱不花让你免费学会jquery
- JQuery+Strusts1.x无刷新登录
- MySQL 备份和恢复策略
- mac下安装mysql(转载)